コード例 #1
0
        /// <summary>
        /// Action executing.
        /// </summary>
        /// <param name="context">Executing context.</param>
        /// <param name="next">Executing delegate.</param>
        public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
        {
            if (!context.ModelState.IsValid)
            {
                var errorsInModelState = context.ModelState
                                         .Where(x => x.Value.Errors.Count > 0)
                                         .ToDictionary(pair => pair.Key, pair => pair.Value.Errors.Select(x => x.ErrorMessage))
                                         .ToArray();

                var errorResponse = new ErrorResponseModel();
                foreach (var error in errorsInModelState)
                {
                    foreach (var subError in error.Value)
                    {
                        errorResponse.Errors.Add(new ValidationResponseModel
                        {
                            FieldName = error.Key,
                            Message   = subError
                        });
                    }
                }

                context.Result = ResponseResult
                                 .InitializeFactories()
                                 .ExecuteCreation(ResponseTypeEnum.Error, HttpStatusCode.BadRequest)
                                 .Build(errorResponse);

                return;
            }
            await next();
        }
コード例 #2
0
        public IActionResult ReturnIActionSuccessfulResponse(object model, HttpStatusCode statusCode)
        {
            var result = ResponseResult
                         .InitializeFactories()
                         .ExecuteCreation(ResponseTypeEnum.Success, statusCode)
                         .Build(model);

            return(result);
        }
コード例 #3
0
        public IActionResult ReturnIActionErrorResponse(object errorModel, HttpStatusCode statusCode)
        {
            var result = ResponseResult
                         .InitializeFactories()
                         .ExecuteCreation(ResponseTypeEnum.Error, statusCode)
                         .Build(errorModel);

            return(result);
        }