Пример #1
0
        private void HandleValidationException(LightstoneValidationException lightstoneValidationException, ExceptionContext filterContext)
        {
            if (lightstoneValidationException == null)
            {
                return;
            }

            ViewResult result = new ViewResult()
            {
                ViewName = filterContext.RouteData.GetRequiredString("action")
            };

            filterContext.ExceptionHandled = true;

            if (lightstoneValidationException.Messages != null && lightstoneValidationException.Messages.Count > 0)
            {
                lightstoneValidationException.Messages.ForEach(item => result.ViewData.ModelState.AddModelError("", item));
            }

            if (!string.IsNullOrEmpty(lightstoneValidationException.FieldName))
            {
                result.ViewData.ModelState.AddModelError(lightstoneValidationException.FieldName, lightstoneValidationException.Message);
            }

            filterContext.Result = result;
        }
Пример #2
0
        public void OnException(ExceptionContext filterContext)
        {
            if (filterContext.Exception == null)
            {
                return;
            }


            if (filterContext.Exception is LightstoneValidationException)
            {
                LightstoneValidationException lightstoneValidationException = filterContext.Exception as LightstoneValidationException;
                HandleValidationException(filterContext.Exception as LightstoneValidationException, filterContext);
                return;
            }

            ViewResult result = new ViewResult()
            {
                ViewName = "Error"
            };


            filterContext.ExceptionHandled = true;
            result.ViewBag.ErrorMessage    = filterContext.Exception.Message;
            filterContext.Result           = result;
        }