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