| 1234567891011121314151617181920212223242526272829303132333435363738 | 
							- using System;
 
- using Newtonsoft.Json;
 
- namespace InABox.Logikal
 
- {
 
-     public abstract class LogikalResponse : LogikalObject
 
-     {
 
-         public LogikalStatus Status { get; set; } = LogikalStatus.Unknown;
 
-         
 
-         public static LogikalResponse FromMessage(LogikalMessage message)
 
-         {
 
-             if (message.Method == LogikalMethod.Connect)
 
-                 return JsonConvert.DeserializeObject<LogikalConnectResponse>(message.Payload);
 
-             if (message.Method == LogikalMethod.Login)
 
-                 return JsonConvert.DeserializeObject<LogikalLoginResponse>(message.Payload);
 
-             if (message.Method == LogikalMethod.Logout)
 
-                 return JsonConvert.DeserializeObject<LogikalLogoutResponse>(message.Payload);
 
-             if (message.Method == LogikalMethod.Disconnect)
 
-                 return JsonConvert.DeserializeObject<LogikalDisconnectResponse>(message.Payload);
 
-             if (message.Method == LogikalMethod.Error)
 
-                 return JsonConvert.DeserializeObject<LogikalErrorResponse>(message.Payload);
 
-             throw new Exception("Unknown Message ID");
 
-         }
 
-         
 
-     }
 
-     public class LogikalErrorResponse : LogikalResponse
 
-     {
 
-         public override LogikalMethod Method() => LogikalMethod.Error;
 
-         
 
-         public String Message { get; set; }
 
-         public LogikalErrorResponse()
 
-         {
 
-             Status = LogikalStatus.Error;
 
-         }
 
-     }
 
- }
 
 
  |