Added json support with type+content to ChatMessage
This commit is contained in:
@@ -1,29 +1,48 @@
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Text.Json;
|
||||
|
||||
namespace PolyChat.Models
|
||||
{
|
||||
public class ChatMessage
|
||||
{
|
||||
public readonly string Sender;
|
||||
public readonly DateTime Timestamp = new DateTime(1970, 01, 01);
|
||||
public readonly string Content;
|
||||
public readonly string Ip;
|
||||
private string Origin;
|
||||
private string Type;
|
||||
private string Content;
|
||||
private DateTime TimeStamp;
|
||||
public readonly bool Foreign;
|
||||
//
|
||||
public readonly string Ip;
|
||||
|
||||
public ChatMessage(string Content = "", bool Foreign = true, string Sender= "Unknown", string Ip = "127.0.0.1")
|
||||
public ChatMessage(string content = "", string origin = "Unknown", string ip = "127.0.0.1")
|
||||
{
|
||||
this.Sender = Sender;
|
||||
this.Timestamp = DateTime.Now;
|
||||
this.Content = Content;
|
||||
this.Foreign = Foreign;
|
||||
this.Ip = Ip;
|
||||
Origin = origin;
|
||||
TimeStamp = DateTime.Now;
|
||||
Content = content;
|
||||
Ip = ip;
|
||||
// no json = my messages
|
||||
Foreign = false;
|
||||
Debug.WriteLine("Created Message: " + ToString());
|
||||
}
|
||||
|
||||
public ChatMessage(string origin, string json)
|
||||
{
|
||||
Origin = origin;
|
||||
// parse and save to object
|
||||
var obj = JsonDocument.Parse(json).RootElement;
|
||||
Type = obj.GetProperty("type").GetString();
|
||||
Content = obj.GetProperty("content").GetString();
|
||||
TimeStamp = DateTime.Now;
|
||||
// json = foreign
|
||||
Foreign = true;
|
||||
Debug.WriteLine("Created Message: " + ToString());
|
||||
}
|
||||
|
||||
override
|
||||
public string ToString()
|
||||
{
|
||||
string prefix = Foreign ? "Other" : "Me";
|
||||
return $"{prefix}: {Content}({Sender})";
|
||||
return $"{Type} from {prefix}: {Content}({Origin})";
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user