private List <KeyValuePair <string, string> > ValidateRequest(BusinessGetQuery request) { var issues = _validator.Validate(request).Errors; foreach (var issue in issues) { _errors.Add(new KeyValuePair <string, string>(issue.PropertyName, issue.ErrorMessage)); } return(_errors); }
public async Task <ActionResult <Business> > GetBusiness(Guid key) { var query = new BusinessGetQuery(key); var queryResponse = await Mediator.Send(query); if (queryResponse.ErrorInfo.HasException) { return(StatusCode(Microsoft.AspNetCore.Http.StatusCodes.Status500InternalServerError)); } if (queryResponse.Errors.Any()) { return(StatusCode(Microsoft.AspNetCore.Http.StatusCodes.Status400BadRequest)); } if (queryResponse.Result.BusinessKey == Guid.Empty) { return(NotFound()); } return(Ok(queryResponse.Result)); }
public async Task <QueryResponse <Business> > Handle(BusinessGetQuery request, CancellationToken cancellationToken) { var response = new QueryResponse <Business>() { Errors = ValidateRequest(request) }; if (!response.Errors.Any()) { try { response.Result = await _dbContext.Business.FindAsync(request.BusinessKey); } catch (Exception e) { _logger.LogCritical(e.ToString()); response.ErrorInfo.UserErrorMessage = "An unknown error has occurred."; response.ErrorInfo.HasException = true; } } return(response); }