public void Execute(ICommandData commandData) { if (_commandAuthorizer.IsAuthorized(commandData)) { _commandExecutor.Execute(commandData); } else { _textWriter.WriteLine( $"Unauthorized: command {commandData.GetType().FullName} requires admin permissions." ); } }
public void Execute(ICommandData commandData) { var executed = false; foreach (var handler in _commandDataHandlers) { if (handler.Handles(commandData)) { handler.Handle(commandData); executed = true; break; } } if (!executed) { throw new UnhandledCommandException(commandData.GetType()); } }
public bool Handles(ICommandData commandData) { return(commandData.GetType() == typeof(T)); }