Beispiel #1
0
        /// <summary>
        /// 初始化菜单到缓存
        /// </summary>
        public static void InitializeMenuDetailToCache()
        {
            var menuDetailList      = new List <MDLSM_MenuDetail>();
            var argsMenuDetailQuery = new MDLSM_MenuDetail {
                WHERE_MenuD_IsValid = true
            };

            //查询菜单组
            _bllBase.QuerryForList <MDLSM_MenuDetail>(argsMenuDetailQuery, menuDetailList);

            foreach (var md in menuDetailList)
            {
                CacheDAX.Add(md.MenuD_ClassFullName, md, true);
            }
        }
Beispiel #2
0
        /// <summary>
        /// 初始化菜单
        /// </summary>
        private void CreateMenu()
        {
            #region 查询
            if (LoginInfoDAX.UserEMPNO == SysConst.SUPER_ADMIN)
            {
                //获取系统菜单
                var argsMenuQuery = new MDLSM_Menu {
                    WHERE_Menu_IsValid = true
                };
                _bll.QuerryForList <MDLSM_Menu>(argsMenuQuery, _menuList);
                //获取系统菜单分组
                var argsMenuGroupQuery = new MDLSM_MenuGroup {
                    WHERE_MenuG_IsValid = true
                };
                _bll.QuerryForList <MDLSM_MenuGroup>(argsMenuGroupQuery, _menuGroupList);
                //获取系统菜单明细
                var argsMenuDetailQuery = new MDLSM_MenuDetail {
                    WHERE_MenuD_IsValid = true
                };
                _bll.QuerryForList <MDLSM_MenuDetail>(argsMenuDetailQuery, _menuDetailList);
            }
            else
            {
                var argsLoginModelQuery = new ComLoginModel {
                    User_EMPNO = LoginInfoDAX.UserEMPNO
                };
                //获取菜单
                _bll.QuerryForList <MDLSM_Menu>(SQLID.Menu_SQL03, argsLoginModelQuery, _menuList);
                //获取菜单组
                _bll.QuerryForList <MDLSM_MenuGroup>(SQLID.Menu_SQL02, argsLoginModelQuery, _menuGroupList);
                //获取菜单明细
                _bll.QuerryForList <MDLSM_MenuDetail>(SQLID.Menu_SQL01, argsLoginModelQuery, _menuDetailList);
            }
            #endregion

            #region 加菜单

            if (_menuList.Count == 0)
            {
                return;
            }
            //将当前用户菜单信息保存到缓存
            CacheDAX.Add(CacheDAX.CacheKey.U1001, _menuDetailList, true);
            foreach (var loopMenu in _menuList)
            {
                //添加菜单
                var RibbonTabMenuName = new RibbonTab(loopMenu.Menu_Code)
                {
                    //菜单标题
                    Caption = loopMenu.Menu_Name,
                    Key     = loopMenu.Menu_Code
                };

                //获取当前菜单下的菜单组
                var menuGroupListTemp = _menuGroupList.Where(p => p.MenuG_Menu_ID == loopMenu.Menu_ID).OrderBy(p => p.MenuG_Index).ToList();
                if (menuGroupListTemp.Count == 0)
                {
                    return;
                }

                foreach (var loopMenuGroup in menuGroupListTemp)
                {
                    //添加菜单组
                    var menuGroup = new RibbonGroup(loopMenuGroup.MenuG_Code)
                    {
                        //菜单组标题
                        Caption = loopMenuGroup.MenuG_Name
                    };

                    //获取当前菜单下的菜单组明细
                    #region 当前菜单下的菜单组明细
                    var menuDetail = _menuDetailList.Where(p => p.MenuD_Menu_ID == loopMenu.Menu_ID && p.MenuD_MenuG_ID == loopMenuGroup.MenuG_ID).OrderBy(p => p.MenuD_Index).ToList();
                    if (menuDetail.Count == 0)
                    {
                        return;
                    }
                    foreach (var loopMenuDetail in menuDetail)
                    {
                        //添加菜单组明细
                        var buttonToolMenuDetail      = new ButtonTool(loopMenuDetail.MenuD_Code);
                        var buttonToolMenuDetailImage = new ButtonTool(loopMenuDetail.MenuD_Code);
                        //设置图片
                        var appearanceMenuDetail = new Infragistics.Win.Appearance();
                        if (imgForm.Images.Keys.IndexOf(loopMenuDetail.MenuD_ImgListKey) >= 0)
                        {
                            appearanceMenuDetail.Image = imgForm.Images[imgForm.Images.Keys.IndexOf(loopMenuDetail.MenuD_ImgListKey)];
                        }
                        //ImageList.ImageCollection
                        //ImageList
                        buttonToolMenuDetailImage.SharedPropsInternal.AppearancesLarge.Appearance = appearanceMenuDetail;
                        //菜单组明细标题
                        buttonToolMenuDetailImage.SharedPropsInternal.Caption = loopMenuDetail.MenuD_Name;
                        //设置Key
                        buttonToolMenuDetailImage.Key = loopMenuDetail.MenuD_ClassFullName;
                        buttonToolMenuDetailImage.InstanceProps.PreferredSizeOnRibbon = RibbonToolSize.Large;
                        //菜单组明细标题
                        buttonToolMenuDetail.InstanceProps.PreferredSizeOnRibbon = RibbonToolSize.Large;
                        toolbars.Tools.AddRange(new ToolBase[] { buttonToolMenuDetail });
                        menuGroup.Tools.AddRange(new ToolBase[] { buttonToolMenuDetailImage });
                        //Click事件
                        buttonToolMenuDetail.ToolClick += toolbars_ToolClick;
                    }

                    RibbonTabMenuName.Groups.AddRange(new RibbonGroup[] { menuGroup });
                    #endregion
                }
                toolbars.Ribbon.NonInheritedRibbonTabs.AddRange(new RibbonTab[] { RibbonTabMenuName });
            }

            #endregion
        }