feat: add outgoing messages to client

This commit is contained in:
k0t9i
2023-02-09 22:45:08 +04:00
parent abcf3b20c0
commit ad5d7a5159
25 changed files with 739 additions and 74 deletions

View File

@@ -0,0 +1,31 @@
using Client.Domain;
using Client.Domain.Enums;
using Client.Domain.Parsers;
using Client.Domain.DTO;
using Client.Infrastructure.Parsers.Objects;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Client.Infrastructure.Parsers
{
public class JsonOutgoingMessageBuilder : OutgoingMessageBuilderInterface
{
public string Build<T>(OutgoingMessage<T> message)
{
return JsonConvert.SerializeObject(new OutgoingMessage
{
Type = GetStringType(message.Type),
Content = JsonConvert.SerializeObject(message.Content)
});
}
private string GetStringType(OutgoingMessageTypeEnum type)
{
return type.ToString();
}
}
}

View File

@@ -0,0 +1,17 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Client.Infrastructure.Parsers.Converters;
namespace Client.Infrastructure.Parsers.Objects
{
internal class OutgoingMessage
{
public string Type { get; set; } = "";
[JsonConverter(typeof(RawConverter))]
public string Content { get; set; } = "";
}
}