/// <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(); }
public IActionResult ReturnIActionSuccessfulResponse(object model, HttpStatusCode statusCode) { var result = ResponseResult .InitializeFactories() .ExecuteCreation(ResponseTypeEnum.Success, statusCode) .Build(model); return(result); }
public IActionResult ReturnIActionErrorResponse(object errorModel, HttpStatusCode statusCode) { var result = ResponseResult .InitializeFactories() .ExecuteCreation(ResponseTypeEnum.Error, statusCode) .Build(errorModel); return(result); }