public async Task <ValidatedResult <TResponse> > PublishAsync <TResponse>(IAsyncNotification asynchNotifcation) { using (LoggerContext.DecorateWithUser()) { _logger.Debug("Publish {@validationResult} for {User}", asynchNotifcation); } var validationSummary = _requestValidator.Validate(asynchNotifcation); var validationResult = new ValidatedResult <TResponse> { ValidationSummary = validationSummary }; if (validationSummary.IsValid) { await _mediator.PublishAsync(asynchNotifcation); } return(await Task.FromResult(validationResult)); }
private ValidatedResult <TResponse> GetValidatedResult <TResponse>(IRequest <TResponse> request, ValidationSummary validationSummary) { var validationResult = new ValidatedResult <TResponse> { ValidationSummary = validationSummary }; if (validationSummary.IsValid) { var response = GetResult(request); validationResult.Result = response; } using (LoggerContext.DecorateWithUser()) { _logger.Debug("Response {@validationResult} for {User}", request); } return(validationResult); }