| 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();        }    }}
 |