示例#1
0
        public static ActionResult ReturnJsonModelState(ModelStateDictionary modelState)
        {
            var genericErrors = new List <String>();
            var fieldErrors   = new Dictionary <String, String>();

            foreach (var fieldState in modelState.Where(f => f.Value.Errors.Any()))
            {
                var fieldName = fieldState.Key;
                var errors    = fieldState.Value.Errors;
                if (!String.IsNullOrEmpty(fieldName))
                {
                    foreach (var e in errors.ToList())
                    {
                        if (fieldErrors.ContainsKey(fieldName))
                        {
                            fieldErrors[fieldName] = fieldErrors[fieldName] + ". " + e.ErrorMessage;
                        }
                        else
                        {
                            fieldErrors.Add(fieldName, e.ErrorMessage);
                        }
                    }
                }
                else
                {
                    errors.ToList().ForEach(e => genericErrors.Add(e.ErrorMessage));
                }
            }

            var jsonResult = new CustomJsonResult()
            {
                Data = new
                {
                    validationFail = true,
                    fieldErrors    = fieldErrors,
                    genericErrors  = genericErrors,
                },
                JsonRequestBehavior = JsonRequestBehavior.AllowGet,
            };

            return(jsonResult);
        }
        public virtual async Task <ActionResult> Build()
        {
            var result = await mediator.RequestAsync(query);

            Object resultingModel = result;

            if (destinationType != null)
            {
                resultingModel = mapper.Map(result, typeof(TResult), destinationType);
            }

            if (doJson)
            {
                var jsonResult = new CustomJsonResult()
                {
                    Data          = resultingModel,
                    MaxJsonLength = Int32.MaxValue,
                };
                if (jsonAllowGet)
                {
                    jsonResult.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
                }

                return(jsonResult);
            }

            viewData.Model = resultingModel;

            return(new ViewResult
            {
                ViewName = null,
                MasterName = null,
                ViewData = viewData,
                TempData = tempData,
                ViewEngineCollection = viewEngineCollection
            });
        }