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); }
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);