public void FillViewDataForViewing(ControllerBase controller, IRootEntity rootEntity, NavigateOptions options) { TypeContext tc = TypeContextUtilities.UntypedNew(rootEntity, ""); controller.ViewData.Model = tc; var entity = (ModifiableEntity)rootEntity; controller.ViewData[ViewDataKeys.PartialViewName] = options.PartialViewName ?? Navigator.OnPartialViewName(entity); tc.ViewOverrides = Navigator.EntitySettings(entity.GetType()).GetViewOverrides(); if (controller.ViewData[ViewDataKeys.TabId] == null) { controller.ViewData[ViewDataKeys.TabId] = GetOrCreateTabID(controller); } controller.ViewData[ViewDataKeys.ShowOperations] = options.ShowOperations; controller.ViewData[ViewDataKeys.WriteEntityState] = options.WriteEntityState || (bool?)controller.ViewData[ViewDataKeys.WriteEntityState] == true; AssertViewableEntitySettings(entity); tc.ReadOnly = options.ReadOnly ?? Navigator.IsReadOnly(entity); }
public static ViewResult NormalPage(this ControllerBase controller, IRootEntity entity, NavigateOptions options = null) { return(Manager.NormalPage(controller, entity, options ?? new NavigateOptions())); }
protected internal virtual PartialViewResult NormalControl(ControllerBase controller, IRootEntity rootEntity, NavigateOptions options) { FillViewDataForViewing(controller, rootEntity, options); return(new PartialViewResult() { ViewName = NormalControlView, ViewData = controller.ViewData, TempData = controller.TempData }); }