public void OnProvidersExecuting(ErrorDescriptionContext context) { if (context.ActionDescriptor.FilterDescriptors.Any(f => f.Filter is VndErrorAttribute) && context.Result is ModelStateDictionary dictionary) { var vndErrors = new List <VndError>(); foreach (var item in dictionary) { foreach (var modelError in item.Value.Errors) { vndErrors.Add(new VndError { LogRef = modelError.ErrorMessage, Path = item.Key, Message = modelError.ErrorMessage, }); } } context.Result = vndErrors; } }
public void OnProvidersExecuting(ErrorDescriptionContext context) { if (context.ActionDescriptor.FilterDescriptors.Any(f => f.Filter is VndErrorAttribute) && context.Result is ValidationProblemDetails problemDetails) { var vndErrors = new List <VndError>(); foreach (var item in problemDetails.Errors) { foreach (var message in item.Value) { vndErrors.Add(new VndError { LogRef = problemDetails.Title, Path = item.Key, Message = message, }); } } context.Result = vndErrors; } }
public object CreateErrorDescription(ActionDescriptor actionDescriptor, object result) { if (actionDescriptor == null) { throw new ArgumentNullException(nameof(actionDescriptor)); } if (result == null) { throw new ArgumentNullException(nameof(result)); } var context = new ErrorDescriptionContext(actionDescriptor) { Result = result, }; for (var i = 0; i < _providers.Length; i++) { _providers[i].OnProvidersExecuting(context); } return(context.Result ?? result); }