protected IncodingResult IncPartialView([AspMvcView] string viewName, object model = null) { Guard.NotNullOrWhiteSpace("viewName", viewName); ViewData.Model = model; using (var sw = new StringWriter()) { var viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName); var viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw); viewResult.View.Render(viewContext, sw); return(IncodingResult.Success(sw.GetStringBuilder().ToString())); } }
protected ActionResult TryPush(Action <CommandComposite> push, CommandComposite composite, Action <IncTryPushSetting> action = null, bool?isAjax = null) { var setting = new IncTryPushSetting(); action.Do(r => r(setting)); Func <ActionResult> defaultSuccess = () => View(composite.Parts[0]); var isActualAjax = isAjax.GetValueOrDefault(HttpContext.Request.IsAjaxRequest()); if (isActualAjax) { defaultSuccess = () => IncodingResult.Success(); } var success = setting.SuccessResult ?? defaultSuccess; Func <IncWebException, ActionResult> defaultError = (ex) => View(composite.Parts[0]); if (isActualAjax) { defaultError = (ex) => IncodingResult.Error(ModelState); } var error = setting.ErrorResult ?? defaultError; if (!ModelState.IsValid) { return(error(IncWebException.For(string.Empty, string.Empty))); } try { push(composite); return(success()); } catch (IncWebException exception) { foreach (var pairError in exception.Errors) { foreach (var errorMessage in pairError.Value) { ModelState.AddModelError(pairError.Key, errorMessage); } } return(error(exception)); } }
protected ActionResult TryPush(CommandComposite composite, Action <IncTryPushSetting> action = null) { var setting = new IncTryPushSetting(); action.Do(r => r(setting)); Func <ActionResult> defaultSuccess = () => View(composite.Parts[0].Message); if (HttpContext.Request.IsAjaxRequest()) { defaultSuccess = () => IncodingResult.Success(); } var success = setting.SuccessResult ?? defaultSuccess; Func <IncWebException, ActionResult> defaultError = (ex) => View(composite.Parts[0].Message); if (HttpContext.Request.IsAjaxRequest()) { defaultError = (ex) => IncodingResult.Error(ModelState); } var error = setting.ErrorResult ?? defaultError; if (!ModelState.IsValid) { return(error(IncWebException.Empty)); } try { this.dispatcher.Push(composite); return(success()); } catch (IncWebException exception) { ModelState.AddModelError(exception.Property, exception.Message); return(error(exception)); } }
public IIncodingMetaLanguageEventBuilderDsl Direct(IncodingResult result) { this.meta.Add(new ExecutableDirectAction(result.Data.ToJsonString())); return(this); }
protected IncodingResult IncJson(object model) { return(IncodingResult.Success(model)); }
protected IncodingResult IncRedirectToAction([AspMvcAction] string action, [AspMvcController] string controller, object routes) { return(IncodingResult.RedirectTo(Url.Action(action, controller, routes))); }
protected IncodingResult IncRedirect(string url) { return(IncodingResult.RedirectTo(url)); }
public IIncodingMetaLanguageEventBuilderDsl Direct(object result) { return(Direct(IncodingResult.Success(result))); }
protected IncodingResult IncPartialView([AspMvcView] string viewName, object model = null) { return(IncodingResult.Success(RenderToString(viewName, model))); }