protected override void OnMessage(MessageEventArgs e) { ResolvedCommandType resolved = CommandResolver.ResolveCommand(e.Data); Command command = Factory(resolved); command.Publish(); }
public async Task <int> RunAsync(IReadOnlyList <string> commandLineArguments) { var optionSet = _commandOptionParser.ParseOptions(commandLineArguments); var command = _commandResolver.ResolveCommand(optionSet); var exitCode = await command.ExecuteAsync(); return(exitCode.Value); }
private EvaluationResult RunCommand(string commandLine) { var commandResult = commandResolver.ResolveCommand(commandLine); if (!commandResult.IsValid) { return(new EvaluationResult().WithError(commandResult.Errors.FirstOrDefault()?.Message)); } return(commandResult.Command.Evaluate(database, commandResult.Arguments)); }
public ActionResult <string> RunCommand( [FromServices] ICommandResolver commandResolver, [FromServices] IDatabase database, [FromQuery] string cmd) { var commandResult = commandResolver.ResolveCommand(cmd); if (!commandResult.IsValid) { return($"ERR {commandResult.Errors.FirstOrDefault()?.Message}"); } var evalResult = commandResult.Command.Evaluate(database, commandResult.Arguments); if (!evalResult.IsValid) { return($"ERR {evalResult.Errors.FirstOrDefault()?.Message}"); } return(evalResult.ToString()); }
protected TCommand GetCommand <TCommand>() where TCommand : ICommandBase { return(_commandResolver.ResolveCommand <TCommand>(this)); }