예제 #1
0
        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);
        }
예제 #2
0
        public static PartialViewResult PopupNavigate(this ControllerBase controller, IRootEntity entity, PopupNavigateOptions options = null)
        {
            var prefix = options?.Prefix ?? controller.Prefix();

            return(Manager.PopupControl(controller, TypeContextUtilities.UntypedNew(entity, prefix), options ?? new PopupNavigateOptions(prefix)));
        }
예제 #3
0
        public static PartialViewResult PartialView(this ControllerBase controller, IRootEntity entity, string prefix, string partialViewName)
        {
            TypeContext tc = TypeContextUtilities.UntypedNew(entity, prefix);

            return(Manager.PartialView(controller, tc, partialViewName));
        }
예제 #4
0
        public static PartialViewResult PopupView(this ControllerBase controller, ModifiableEntity entity, PopupViewOptions options = null)
        {
            var prefix = options?.Prefix ?? controller.Prefix();

            return(Manager.PopupControl(controller, TypeContextUtilities.UntypedNew(entity, prefix, options?.PropertyRoute), options ?? new PopupViewOptions(prefix)));
        }