public async Task <TResponse> Send <TResponse>(IRequest <TResponse> request, CancellationToken cancellationToken = default)
            {
                if (request == null)
                {
                    throw new ArgumentNullException(nameof(request));
                }

                IValidationErrorsAccessor?errorsAccessor = null;
                var result = await _remotiatr.Send <TMarker, TResponse>(request, x => errorsAccessor = x.GetRequiredService <IValidationErrorsAccessor>() !, cancellationToken);

                AddValidationResult(errorsAccessor !.ValidationErrors, _editContext);

                return(result);
            }
Exemplo n.º 2
0
            public async Task Publish(object notification, CancellationToken cancellationToken = default)
            {
                if (notification == null)
                {
                    throw new ArgumentNullException(nameof(notification));
                }

                try
                {
                    await _remotiatr.Send(notification, cancellationToken);

                    ClearValidation(_editContext);
                }
                catch (ValidationException exception)
                {
                    AddValidationResult(exception, _editContext);
                }
                catch (AggregateException exception) when(exception.InnerExceptions.Any(x => x is ValidationException))
                {
                    AddValidationResult(UnpackValidationException(exception), _editContext);
                }
            }
 public static async Task <TResponse> Send <TMarker, TResponse>(this IRemotiatr <TMarker> remotiatr, IRequest <TResponse> request, Action <IServiceProvider> configure, CancellationToken cancellationToken) =>
 (TResponse)await remotiatr.Send(request, configure, cancellationToken);
 public static Task <object> Send <TMarker>(this IRemotiatr <TMarker> remotiatr, object request, CancellationToken cancellationToken) =>
 remotiatr.Send(request, default, cancellationToken);
 public static Task <object> Send <TMarker>(this IRemotiatr <TMarker> remotiatr, object request, Action <IServiceProvider> configure) =>
 remotiatr.Send(request, configure, default);
 public static Task <object> Send <TMarker>(this IRemotiatr <TMarker> remotiatr, object request) =>
 remotiatr.Send(request, default, default);