Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- abstract class Command
- {
- public DateTime Timestamp { get; } = DateTime.Now;
- public CommandTypes Type { get; protected set; }
- public string RawText { get; }
- public Command ParsedCommand { get; }
- public Command(string rawCommand)
- {
- RawText = rawCommand;
- }
- abstract public T TryCreateNew<T>(Newtonsoft.Json.Linq.JObject json) where T : Command, new();
- }
- class Login : Command
- {
- public readonly string Username;
- public readonly string Password;
- private Login(string rawText, string username, string password) : base(rawText)
- {
- Username = username;
- Password = password;
- }
- public override Login TryCreateNew<Login>(Newtonsoft.Json.Linq.JObject json)
- {
- var username = json["Username"].ToString();
- var password = json["Password"].ToString();
- if (string.IsNullOrWhiteSpace(username))
- return null;
- if (string.IsNullOrWhiteSpace(password))
- return null;
- var loginCommand = new Login(json.ToString(), username, password);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement