Example #1
0
        public ParsedInput Parse(string input, DateTime currentDate)
        {
            var parsedInput = new ParsedInput { CurrentDate = currentDate };

            string commandInput = input.Trim();
            var seperatedInput = commandInput.Split(' ');
            parsedInput.Username = seperatedInput[0];

            if (seperatedInput.Count() == 1)
            {
                parsedInput.CommandType = CommandType.Read;
                return parsedInput;
            }

            parsedInput.Username = seperatedInput.First().Trim();
            var command = seperatedInput.Skip(1).First().Trim();
            parsedInput.CommandType = ParseCommandType(command);
            parsedInput.RequiredAction = string.Join(" ", seperatedInput.Skip(2)); ;
            return parsedInput;
        }
Example #2
0
 public virtual void Execute(ParsedInput parsedInput)
 {
     var command = _commandFactory.Create(_usersRepository.GetUser(parsedInput.Username), parsedInput, _tweetsRepository, _textWriter);
     command.Execute();
 }