Example #1
0
        protected dynamic Errors(object data = null)
        {
            var modelStateErrors = ModelState
                                   .Where(x => x.Value.Errors.Count > 0)
                                   .ToDictionary(p => p.Key, p => p.Value.Errors.Select(x => x.ErrorMessage));

            foreach (var err in modelStateErrors)
            {
                foreach (var subErr in err.Value)
                {
                    AddError(err.Key, subErr);
                }
            }

            var errors = Notificator.GetErrors().Select(err => new ErrorResponse
            {
                Property = ToSnake(err.Property),
                Message  = err.Message
            });

            if (data == null)
            {
                return new { errors }
            }
            ;

            return(new { data, errors });
        }
Example #2
0
        private static void HandleExceptionAsync(HttpContext context, Exception exception, ILogger logger, INotificator notificator)
        {
            logger.LogException(exception);

            var responseBody = new ResponseViewModel
            {
                Success = false,
                Errors  = notificator.GetErrors().Select(x => x.Message).ToList()
            };

            responseBody.Errors.Add(exception.Message);

            var responseJson = JsonConvert.SerializeObject(responseBody);

            context.Response.StatusCode  = (int)HttpStatusCode.InternalServerError;
            context.Response.ContentType = new MediaTypeHeaderValue("application/json").ToString();
            context.Response.WriteAsync(responseJson, Encoding.UTF8);
        }
Example #3
0
 protected bool ValidOperation()
 {
     return(_notificator.GetErrors().Count <= 0);
 }