/// <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)); }
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)); }
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)); }
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(); } }