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 }); }
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); }
protected bool ValidOperation() { return(_notificator.GetErrors().Count <= 0); }