Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2018
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.22 KB | None | 0 0
  1.     abstract class Command
  2.     {
  3.         public DateTime Timestamp { get; } = DateTime.Now;
  4.         public CommandTypes Type { get; protected set; }
  5.  
  6.         public string RawText { get; }
  7.  
  8.         public Command ParsedCommand { get; }
  9.  
  10.         public Command(string rawCommand)
  11.         {
  12.             RawText = rawCommand;
  13.         }
  14.  
  15.         abstract public T TryCreateNew<T>(Newtonsoft.Json.Linq.JObject json) where T : Command, new();
  16.     }
  17.  
  18.     class Login : Command
  19.     {
  20.         public readonly string Username;
  21.         public readonly string Password;
  22.  
  23.         private Login(string rawText, string username, string password) : base(rawText)
  24.         {
  25.             Username = username;
  26.             Password = password;
  27.         }
  28.  
  29.         public override Login TryCreateNew<Login>(Newtonsoft.Json.Linq.JObject json)
  30.         {
  31.             var username = json["Username"].ToString();
  32.             var password = json["Password"].ToString();
  33.  
  34.             if (string.IsNullOrWhiteSpace(username))
  35.                 return null;
  36.  
  37.             if (string.IsNullOrWhiteSpace(password))
  38.                 return null;
  39.  
  40.  
  41.             var loginCommand = new Login(json.ToString(), username, password);
  42.         }
  43.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement