コード例 #1
0
ファイル: MenuTree.cs プロジェクト: kelvinlam1986/paidtimeoff
        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);
                }
            }
        }
コード例 #2
0
ファイル: Globals.cs プロジェクト: kelvinlam1986/paidtimeoff
        public static void LoadMenuItems(Cache cache)
        {
            ENTMenuItemBOList menuItems = new ENTMenuItemBOList();

            menuItems.Load();

            cache.Remove(CACHE_KEY_MENU_ITEMS);
            cache[CACHE_KEY_MENU_ITEMS] = menuItems;
        }
コード例 #3
0
    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);
        }
    }
コード例 #4
0
    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 + "---");
            }
        }
    }