25 lines
814 B
C#
25 lines
814 B
C#
namespace ChatRoom.Centralized.Shared.ObjectModels;
|
|
|
|
public class MessageInfo
|
|
{
|
|
public required Guid MessageId { get; set; }
|
|
public required Guid UserId { get; set; }
|
|
public required DateTimeOffset SentAt { get; set; }
|
|
public required string Contents { get; set; }
|
|
|
|
public void WriteData(BinaryWriter writer)
|
|
{
|
|
writer.Write(MessageId.ToByteArray());
|
|
writer.Write(UserId.ToByteArray());
|
|
writer.Write(SentAt.ToUnixTimeMilliseconds());
|
|
writer.Write(Contents);
|
|
}
|
|
public static MessageInfo ReadData(BinaryReader reader) => new()
|
|
{
|
|
MessageId = new(reader.ReadBytes(16)),
|
|
UserId = new(reader.ReadBytes(16)),
|
|
SentAt = DateTimeOffset.FromUnixTimeMilliseconds(reader.ReadInt64()),
|
|
Contents = reader.ReadString()
|
|
};
|
|
}
|