示例#1
0
        /// <summary>
        /// Předávání výsledků handleru přímo do resultu
        /// </summary>
        /// <typeparam name="TModel"></typeparam>
        /// <param name="result"></param>
        /// <returns></returns>
        protected virtual IHttpActionResult AsResult(ModelHandlerResult result)
        {
            if (result.Exception != null)
            {
                return(NotFound());
            }

            // rovnou odeslat cely result, aby pomoci JS slo zjistit, zda se vse povedlo, pripadne err!
            return(Ok(result));
        }
示例#2
0
        protected virtual PartialViewResult AsPartialView <TModel>(ModelHandlerResult handlerResult, ModelBuilderResult <TModel> builderResult, string partialView)
        {
            HttpContext.Response.StatusCode = (int)HttpStatusCode.OK;
            ViewBag.Message = handlerResult.Message;
            ViewBag.Actions = handlerResult.Actions;

            if (handlerResult.IsSuccess)
            {
                return(PartialView(partialView, builderResult.Data));
            }

            ModelState.Clear();

            AddValidationMessage(handlerResult, null);
            return(PartialView(partialView, builderResult.Data));
        }
示例#3
0
        protected virtual ActionResult AsView(ModelHandlerResult result, ActionResult successAction, ActionResult failAction = null)
        {
            ViewBag.Message   = result.Message;
            ViewBag.IsSuccess = result.IsSuccess;

            if (result.IsSuccess)
            {
                return(UseTempDataAction(successAction));
            }

            ModelState.Clear();

            AddValidationMessage(result, failAction);
            ViewBag.Actions = result.Actions;

            HttpContext.Response.StatusCode = (int)HttpStatusCode.OK;
            return(UseTempDataAction(failAction) ?? View(result.Data));
        }
示例#4
0
        private void AddValidationMessage(ModelHandlerResult result, ActionResult action)
        {
            // projdu seznam validačních hlášek
            StringBuilder sb = new StringBuilder();

            if (result.ValidationMessages != null)
            {
                foreach (var validateMessage in result.ValidationMessages)
                {
                    // nastavím error
                    ModelState.AddModelError(validateMessage.Property, validateMessage.DisplayName);
                    sb.AppendLine(validateMessage.DisplayName).AppendLine(". ");
                }
            }

            if (action != null && !(action is ViewResult) && result.Message == null)
            {
                ViewBag.Message = sb.ToString();
            }
        }