private void CreateChildMenu(TreeNodeCollection nodes, ENTMenuItemBOList menuItems) { foreach (var mi in menuItems) { if (mi.HasAccessToMenu(UserAccount, Roles)) { TreeNode menuNode = new TreeNode(mi.MenuItemName, mi.ID.ToString(), "", (string.IsNullOrEmpty(mi.Url) ? "" : RootPath + mi.Url), ""); if (string.IsNullOrEmpty(mi.Url)) { menuNode.SelectAction = TreeNodeSelectAction.None; } // Check if this is the menu item that should be selected if (mi.MenuItemName == CurrentMenuItemName) { menuNode.Selected = true; } // Check if this has children if (mi.ChildMenuList.Count > 0) { // Create items for the children CreateChildMenu(menuNode.ChildNodes, mi.ChildMenuList); } nodes.Add(menuNode); } } }
public static void LoadMenuItems(Cache cache) { ENTMenuItemBOList menuItems = new ENTMenuItemBOList(); menuItems.Load(); cache.Remove(CACHE_KEY_MENU_ITEMS); cache[CACHE_KEY_MENU_ITEMS] = menuItems; }
private void CreateChildNodes(TreeNodeCollection treeNodeCollection, ENTMenuItemBOList childMenuItems) { foreach (var menuItem in childMenuItems) { var menuNode = new TreeNode(menuItem.MenuItemName + (menuItem.Description == null ? "" : ": " + menuItem.Description)); menuNode.SelectAction = TreeNodeSelectAction.None; if (menuItem.ChildMenuItems.Count > 0) { CreateChildNodes(menuNode.ChildNodes, menuItem.ChildMenuItems); } treeNodeCollection.Add(menuNode); } }
private void AddCapabilitiesForMenuItems(ENTMenuItemBOList menuItems, ENTCapabilityBOList capabilities, string indentation) { //Loop around each menu item and create a row for each menu item and capability associated with the menu item foreach (var menuItem in menuItems) { //Get any capabilities with this item var capabilitiesForMenuItem = capabilities.GetByMenuItemId(menuItem.ID); if (!capabilitiesForMenuItem.Any()) { //Just add the menu item to the row var tr = new TableRow(); var tc = new TableCell(); var lc = new LiteralControl(); lc.Text = indentation + menuItem.MenuItemName; tc.CssClass = "capabilityHeader"; tc.Controls.Add(lc); tc.ColumnSpan = 3; tr.Cells.Add(tc); tblCapabilities.Rows.Add(tr); } else { //If there is only one capability associated with this menu item then just display the //menu item name and the radio buttons if (capabilitiesForMenuItem.Count() == 1) { AddCapabilityToTable(capabilitiesForMenuItem.ElementAt(0), indentation + menuItem.MenuItemName); } else { //Add a row for each capability foreach (ENTCapabilityBO capability in capabilitiesForMenuItem) { AddCapabilityToTable(capability, indentation + menuItem.MenuItemName + " (" + capability.CapabilityName + ")"); } } } if (menuItem.ChildMenuItems.Count > 0) { AddCapabilitiesForMenuItems(menuItem.ChildMenuItems, capabilities, indentation + "---"); } } }