Beispiel #1
0
 public ApplicationCommandResult <TResult> ExecuteCommand <TResult>(
     IApplicationCommand command,
     ApplicationCommandReplySchemes replyScheme = ApplicationCommandReplySchemes.OnDomainCommandHandled)
 => _executor.ExecuteCommand <TResult>(command, replyScheme);
Beispiel #2
0
 public async Task <ApplicationCommandResult> ExecuteCommandAsync(
     IApplicationCommand command,
     ApplicationCommandReplySchemes replyScheme = ApplicationCommandReplySchemes.OnDomainCommandHandled,
     CancellationToken token = default)
 => await _executor.ExecuteCommandAsync(command, replyScheme, token);
Beispiel #3
0
        public async Task <ApplicationCommandResult <TPayload> > ExecuteCommandAsync <TPayload>(IApplicationCommand command,
                                                                                                ApplicationCommandReplySchemes replyScheme = ApplicationCommandReplySchemes.OnDomainCommandHandled,
                                                                                                CancellationToken token = default)
        {
            PreConditions.NotNull(command, nameof(command));

            await PublishAsync(command, replyScheme, token);

            var promise = new ApplicationCommandExecutionPromise <TPayload>(command);

            _commandResultListener.AddExecutingPromise(promise);

            return(await promise.Future.ConfigureAwait(false));
        }