/// <summary> /// Gets the navigation menu. /// </summary> /// <returns></returns> public static PartialNavigationMenuModel GetNavigationMenu(ICorePrincipal user, NavigationMenuWidget widget) { var pageService = ServiceLocator.Current.GetInstance<IPageService>(); var pages = pageService.GetAllowedPagesByOperation(user, (int)PageOperations.View).OrderBy(page => page.OrderNumber); var menuItems = new List<PartialNavigationMenuItemModel>(); List<PartialNavigationMenuItemModel> items = pages.Select(page => new PartialNavigationMenuItemModel { Page = page }).ToList(); foreach (var item in items) { if (item.Page.ParentPageId == null) { item.Children = Flatten(item, items, 2); menuItems.Add(item); } } return new PartialNavigationMenuModel { MenuItems = menuItems, WidgetId = widget.Id, Orientation = widget.Orientation }; }
public virtual ActionResult EditWidget(ICoreWidgetInstance instance) { if (instance != null) { var widget = new NavigationMenuWidget(); if (instance.InstanceId != null) { var widgetService = ServiceLocator.Current.GetInstance<INavigationMenuWidgetService>(); var existingWidget = widgetService.Find((long)instance.InstanceId); if (existingWidget != null) widget = existingWidget; } return PartialView(new NavigationMenuWidgetModel().MapFrom(widget)); } return Content(String.Empty); }