Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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);
        }