public static UserCommand Translate(SocialEngine engine, string consoleCommand) { try { var parameters = consoleCommand.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries); if (parameters != null && parameters.Length > 0) { if (parameters.Length == 1) { return(new UserCommand(engine, CommandType.Reading, parameters[0], string.Empty, string.Empty)); } if (parameters.Length == 2 && parameters[1].ToLower().Equals("wall")) { return(new UserCommand(engine, CommandType.Wall, parameters[0], string.Empty, string.Empty)); } if (parameters.Length >= 3 && parameters[1].ToLower().Equals("follows")) { return(new UserCommand(engine, CommandType.Following, parameters[0], string.Empty, parameters[2])); } if (parameters.Length >= 3 && parameters[1].Equals("->")) { return(new UserCommand(engine, CommandType.Posting, parameters[0], consoleCommand.Substring(parameters[0].Length + 4), string.Empty)); } } } catch (Exception e) { Console.WriteLine($"Failed to read command: {e.Message}"); } return(null); }
public UserCommand(SocialEngine engine, CommandType type, string userName, string message, string followedUser) { this._engine = engine; this._type = type; this._userName = userName; this._message = message; this._followeduser = followedUser; }