public async ICovariantAwaitable <CommandDispatchResult> HandleAsync(DispatchCommand message) { if (message == null) { throw new ArgumentNullException(nameof(message)); } Console.WriteLine($"Received 'DispatchCommand' for command type '{message.CommandType.FullName}' with command '{message.Command}'."); var answer = new CommandDispatchResult(await _commandDispatcher.DispatchAsync(message.CommandType, message.Command)); return(answer); }
public async Task <ICommandResult> HandleAsync(TCommand command) { if (command == null) { throw new ArgumentNullException(nameof(command)); } var message = new DispatchCommand(typeof(TCommand), command); Console.WriteLine($"Sending 'DispatchCommand' for command type '{message.CommandType.FullName}' with command '{message.Command}'."); var answer = await _messageEndPoint.SendAsync <DispatchCommand, CommandDispatchResult>(message); return(answer.CommandResult); }