123456789101112131415161718192021222324252627282930313233343536373839404142 |
- using System;
- using System.IO;
- using InABox.Formatters;
- using Newtonsoft.Json;
- namespace InABox.Integration.Logikal
- {
- public class LogikalMessage : ICoreFormattable
- {
- public Guid ID { get; set; }
- public LogikalMethod Method { get; set; }
- public String Payload { get; set; }
-
- public static LogikalMessage Error(string message)
- {
- return new LogikalMessage()
- {
- ID = Guid.NewGuid(),
- Method = LogikalMethod.Error,
- Payload = JsonConvert.SerializeObject(new LogikalErrorResponse()
- {
- Message = message
- })
-
- };
- }
- public void Write(BinaryWriter writer)
- {
- writer.Write(ID.ToByteArray());
- writer.Write((Int32)Method);
- writer.Write(Payload);
- }
- public void Read(BinaryReader reader)
- {
- ID = new Guid(reader.ReadBytes(16));
- Method = (LogikalMethod)reader.ReadInt32();
- Payload = reader.ReadString();
- }
- }
- }
|