Example #1
0
        protected JsonResult CreateJsonResultForInvalidModelState <TModelValidate, TLocalizer>(IStringLocalizer <TLocalizer> sharedLocalizer, object response = null)
            where TModelValidate : class
        {
            var jsonResult = new MvcJsonResult
            {
                Status   = MvcJsonResult.StatusEnum.Warning,
                Response = response,
                Message  = null,
            };

            var sb = new StringBuilder();

            sb.AppendLine(sharedLocalizer["There are errors in fields:"]);

            sb.AppendLine("<ul>");

            foreach (KeyValuePair <string, ModelStateEntry> entry in ModelState)
            {
                if (entry.Value.ValidationState != ModelValidationState.Invalid)
                {
                    continue;
                }

                DisplayAttribute displayAttr = ReflectionHelper.GetAttribute <TModelValidate, DisplayAttribute>(entry.Key);

                sb.Append($"<li>{sharedLocalizer[displayAttr?.Name ?? entry.Key]}: {entry.Value.Errors.First().ErrorMessage}</li>");
            }

            sb.AppendLine("</ul>");

            jsonResult.Message = sb.ToString();

            return(Json(jsonResult));
        }
Example #2
0
        protected JsonResult CreateJsonResultFromDomainResult(Result domainResult, object response = null)
        {
            var jsonResult = new MvcJsonResult
            {
                Status   = domainResult.Valid ? MvcJsonResult.StatusEnum.Success : MvcJsonResult.StatusEnum.Warning,
                Response = response,
                Message  = domainResult.Message
            };

            if (domainResult.Validations != null)
            {
                jsonResult.Validations = new List <ValidationMessage>();

                foreach (ResultValidation validation in domainResult.Validations)
                {
                    jsonResult.Validations.Add(
                        new ValidationMessage
                    {
                        Atributo = validation.Attribute,
                        Mensagem = validation.Message
                    });
                }
            }

            return(Json(jsonResult));
        }