Example #1
0
        public Notification Handle(ICommand command, ExecutionArguments executionArguments)
        {
            var prerequisiteResult = _prerequisiteChecker.Check(command, executionArguments);

            if (prerequisiteResult.HasErrors)
            {
                return(prerequisiteResult);
            }
            var commandResult = command.Execute(executionArguments);

            if (commandResult.HasErrors)
            {
                return(commandResult);
            }
            if (command.ChangesTheStatement())
            {
                var commandHistory = new CommandHistory
                {
                    Command = command.GetType().Name,
                    Args    = executionArguments.Args,
                    Date    = _systemService.CurrentDateTime
                };
                Statement statement = executionArguments.Statement;
                statement.CommandHistory.Add(commandHistory);
            }
            return(commandResult);
        }
 public Notification Handle(ICommand command, ExecutionArguments executionArguments)
 {
     var prerequisiteResult = _prerequisiteChecker.Check(command, executionArguments);
     if (prerequisiteResult.HasErrors)
     {
         return prerequisiteResult;
     }
     var commandResult = command.Execute(executionArguments);
     if (commandResult.HasErrors)
     {
         return commandResult;
     }
     if (command.ChangesTheStatement())
     {
         var commandHistory = new CommandHistory
             {
                 Command = command.GetType().Name,
                 Args = executionArguments.Args,
                 Date = _systemService.CurrentDateTime
             };
         Statement statement = executionArguments.Statement;
         statement.CommandHistory.Add(commandHistory);
     }
     return commandResult;
 }