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