remove MSG.cs, merge content from MSG.cs and ChatMessage.cs, refactor code
This commit is contained in:
@@ -90,8 +90,8 @@
|
|||||||
<ListView.ItemTemplate>
|
<ListView.ItemTemplate>
|
||||||
<DataTemplate x:DataType="models:ChatMessage">
|
<DataTemplate x:DataType="models:ChatMessage">
|
||||||
<StackPanel x:Name="Message" Margin="0 4" Padding="16 8" CornerRadius="4" Background="{ThemeResource SystemAccentColor}">
|
<StackPanel x:Name="Message" Margin="0 4" Padding="16 8" CornerRadius="4" Background="{ThemeResource SystemAccentColor}">
|
||||||
<TextBlock Text="{x:Bind Text}"/>
|
<TextBlock Text="{x:Bind Msg}"/>
|
||||||
<TextBlock Text="{x:Bind Date}"/>
|
<TextBlock Text="{x:Bind StringTimeStamp}"/>
|
||||||
<TextBlock Text="{x:Bind Foreign}"/>
|
<TextBlock Text="{x:Bind Foreign}"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
|
|||||||
@@ -38,8 +38,8 @@ namespace PolyChat
|
|||||||
public void OnSendMessage(object sender = null, RoutedEventArgs e = null)
|
public void OnSendMessage(object sender = null, RoutedEventArgs e = null)
|
||||||
{
|
{
|
||||||
selectedPartner.AddMessage(new ChatMessage(
|
selectedPartner.AddMessage(new ChatMessage(
|
||||||
|
DateTime.Now,
|
||||||
inputSend.Text,
|
inputSend.Text,
|
||||||
DateTime.Now.ToString(),
|
|
||||||
false
|
false
|
||||||
));
|
));
|
||||||
Controller.sendMessage(selectedPartner.Code, inputUsername.Text, inputSend.Text);
|
Controller.sendMessage(selectedPartner.Code, inputUsername.Text, inputSend.Text);
|
||||||
@@ -62,13 +62,14 @@ namespace PolyChat
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnIncomingMessage(MSG message)
|
public void OnIncomingMessage(ChatMessage message)
|
||||||
{
|
{
|
||||||
ChatPartner sendingPartner = Partners.First(p => p.Code == message.ip.ToString());
|
ChatPartner sendingPartner = Partners.First(p => p.Code == message.Ip);
|
||||||
sendingPartner.AddMessage(new ChatMessage(
|
sendingPartner.AddMessage(new ChatMessage(
|
||||||
message.msg,
|
message.Timestamp,
|
||||||
message.timestamp.ToString(),
|
message.Msg,
|
||||||
true
|
true,
|
||||||
|
message.Sender
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,23 +1,31 @@
|
|||||||
namespace PolyChat.Models
|
using System;
|
||||||
|
|
||||||
|
namespace PolyChat.Models
|
||||||
{
|
{
|
||||||
public class ChatMessage
|
public class ChatMessage
|
||||||
{
|
{
|
||||||
public string Text;
|
public readonly string Sender;
|
||||||
public string Date;
|
public readonly DateTime Timestamp = new DateTime(1970, 01, 01);
|
||||||
public bool Foreign;
|
public readonly string Msg = "empty";
|
||||||
|
public readonly string Ip;
|
||||||
|
public readonly bool Foreign;
|
||||||
|
public readonly string StringTimeStamp;
|
||||||
|
|
||||||
public ChatMessage(string text, string date, bool foreign)
|
public ChatMessage(DateTime Timestamp, string Msg, bool Foreign = true, string Sender= "Unknown", string Ip = "127.0.0.1")
|
||||||
{
|
{
|
||||||
Text = text;
|
this.Sender = Sender;
|
||||||
Date = date;
|
this.Timestamp = Timestamp;
|
||||||
Foreign = foreign;
|
StringTimeStamp = Timestamp.ToString();
|
||||||
|
this.Msg = Msg;
|
||||||
|
this.Foreign = Foreign;
|
||||||
|
this.Ip = Ip;
|
||||||
}
|
}
|
||||||
|
|
||||||
override
|
override
|
||||||
public string ToString()
|
public string ToString()
|
||||||
{
|
{
|
||||||
string prefix = Foreign ? "Other" : "Me";
|
string prefix = Foreign ? "Other" : "Me";
|
||||||
return $"{prefix}: Text";
|
return $"{prefix}: {Msg}({Sender})";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -24,7 +24,7 @@ namespace PolyChat.Models
|
|||||||
{
|
{
|
||||||
private SocketIOClient connection;
|
private SocketIOClient connection;
|
||||||
public Boolean isConnected = false;
|
public Boolean isConnected = false;
|
||||||
private List<MSG> msgStack = new List<MSG>();
|
private List<ChatMessage> msgStack = new List<ChatMessage>();
|
||||||
private Boolean active = true;
|
private Boolean active = true;
|
||||||
private String ip;
|
private String ip;
|
||||||
|
|
||||||
@@ -49,7 +49,7 @@ namespace PolyChat.Models
|
|||||||
new Thread(() =>
|
new Thread(() =>
|
||||||
{
|
{
|
||||||
//create msg
|
//create msg
|
||||||
MSG msg = new MSG(sender, Controller.ip, chatMessage, timestamp);
|
ChatMessage msg = new ChatMessage(timestamp, chatMessage, false, sender, Controller.ip);
|
||||||
|
|
||||||
//convert msg
|
//convert msg
|
||||||
String petJson = JsonNet.Serialize(msg);
|
String petJson = JsonNet.Serialize(msg);
|
||||||
@@ -78,7 +78,7 @@ namespace PolyChat.Models
|
|||||||
{
|
{
|
||||||
connection.On(SendCode.Message.ToString(), (Data) =>
|
connection.On(SendCode.Message.ToString(), (Data) =>
|
||||||
{
|
{
|
||||||
MSG pet = JsonNet.Deserialize<MSG>(BitConverter.ToString(Data[0].ToObject<byte[]>()));
|
ChatMessage pet = JsonNet.Deserialize<ChatMessage>(BitConverter.ToString(Data[0].ToObject<byte[]>()));
|
||||||
//TODO: send message to GUI
|
//TODO: send message to GUI
|
||||||
});
|
});
|
||||||
connection.On(SendCode.Command.ToString(), (Data) =>
|
connection.On(SendCode.Command.ToString(), (Data) =>
|
||||||
|
|||||||
@@ -1,29 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Net;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace PolyChat.Models
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// dumy class for json converter
|
|
||||||
/// </summary>
|
|
||||||
public class MSG
|
|
||||||
{
|
|
||||||
public string sender = "unknown";
|
|
||||||
public DateTime timestamp = new DateTime(2000, 01, 01);
|
|
||||||
public string msg = "empty";
|
|
||||||
public string ip;
|
|
||||||
|
|
||||||
|
|
||||||
public MSG(string sender, string ip, String msg, DateTime timestamp)
|
|
||||||
{
|
|
||||||
this.sender = sender;
|
|
||||||
this.ip = ip;
|
|
||||||
this.timestamp = timestamp;
|
|
||||||
this.msg = msg;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -127,7 +127,6 @@
|
|||||||
<Compile Include="Models\Client.cs" />
|
<Compile Include="Models\Client.cs" />
|
||||||
<Compile Include="Models\ClientHandler.cs" />
|
<Compile Include="Models\ClientHandler.cs" />
|
||||||
<Compile Include="Models\Exceptions\ConnectionFailedException.cs" />
|
<Compile Include="Models\Exceptions\ConnectionFailedException.cs" />
|
||||||
<Compile Include="Models\MSG.cs" />
|
|
||||||
<Compile Include="Models\SendCode.cs" />
|
<Compile Include="Models\SendCode.cs" />
|
||||||
<Compile Include="Models\Socket.cs" />
|
<Compile Include="Models\Socket.cs" />
|
||||||
<Compile Include="Controller.cs" />
|
<Compile Include="Controller.cs" />
|
||||||
|
|||||||
Reference in New Issue
Block a user