Beispiel #1
0
        /// <summary>
        /// 通过元数据加载菜单
        /// </summary>
        public void LoadMenus()
        {
            //IMenuService menuService = (IMenuService)application.GetService(typeof(IMenuService));
            MainMenuPages.Clear();
            MenuDict.Clear();
            ISinoMenu _iSinoMenu = MenuConfig.GetMenuInterface();

            UserMenuList = _iSinoMenu.GetAllMenus(SessionClass.CurrentSinoUser.CurrentPost.PostID);
            if (UserMenuList != null)
            {
                SinoMenuFatherFinder _finder           = new SinoMenuFatherFinder("0");
                List <SinoMenuItem>  _TopLevelMenuList = UserMenuList.FindAll(new Predicate <SinoMenuItem>(_finder.FindByFather));
                _TopLevelMenuList.Sort(new SinoMenuComparer());
                foreach (SinoMenuItem _smi in _TopLevelMenuList)
                {
                    if (_smi.MenuType.Length > 3 && _smi.MenuType.Substring(0, 3) == "WEB")
                    {
                        //这是WEB的菜单
                    }
                    else if (_smi.MenuType.Length > 3 && _smi.MenuType.Substring(0, 3) == "SL_")
                    {
                        //这是Silverlight的菜单
                    }
                    else
                    {
                        FrmMenuPage _fmp = new FrmMenuPage(_smi.MenuID, _smi.MenuTitle, _smi.CanUse);
                        this.AddMainMenuPage(_fmp);
                        AddSubMenu(_smi, UserMenuList, _fmp);
                    }
                }
            }
        }
Beispiel #2
0
        /// <summary>
        /// 通过元数据加载菜单
        /// </summary>
        public void LoadMenus()
        {
            //IMenuService menuService = (IMenuService)application.GetService(typeof(IMenuService));
            MainMenuPages.Clear();
            MenuDict.Clear();

            using (CommonService.CommonServiceClient _cs = new CommonService.CommonServiceClient())
            {
                UserMenuList = _cs.GetAllMenus(SessionClass.CurrentSinoUser.CurrentPost.PostID).ToList <SinoMenuItem>();
            }
            if (UserMenuList != null)
            {
                var _TopLevelMenuList = from _c in UserMenuList
                                        where _c.FatherID == "0"
                                        orderby _c.DisplayOrder
                                        select _c;
                foreach (SinoMenuItem _smi in _TopLevelMenuList)
                {
                    if (_smi.MenuType.Length > 3 && _smi.MenuType.Substring(0, 3) == "WEB")
                    {
                        //这是WEB的菜单
                    }
                    else if (_smi.MenuType.Length > 3 && _smi.MenuType.Substring(0, 3) == "SL_")
                    {
                        //这是Silverlight的菜单
                    }
                    else
                    {
                        FrmMenuPage _fmp = new FrmMenuPage(_smi.MenuID, _smi.MenuTitle, _smi.CanUse);
                        this.AddMainMenuPage(_fmp);
                        AddSubMenu(_smi, UserMenuList, _fmp);
                    }
                }
            }
        }
Beispiel #3
0
 public void SuperLoad()
 {
     if (application != null && application.MainRibbon != null)
     {
         //添加一个主菜单
         IMenuService menuService = (IMenuService)application.GetService(typeof(IMenuService));
         if (menuService != null)
         {
             FrmMenuPage _menuPage = new FrmMenuPage("MetaDataManagerPage", "元数据管理");
             menuService.AddMainMenuPage(_menuPage);
             FrmMenuGroup _menuGroup = new FrmMenuGroup("MetaDataManager", "元数据定义");
             menuService.AddMenuGroup(_menuPage, _menuGroup);
             //全局定义
             MenuCommandDefine _md       = new MenuCommandDefine("GlobalDefine", "全局定义", this as IMenuCommand, null);
             FrmMenuItem       _menuItem = new FrmMenuItem("全局定义", "GlobalDefine",
                                                           global::SinoSZMetaDataManager.Properties.Resources.g1, 80, _md);
             menuService.AddMenuItem(_menuPage, _menuGroup, _menuItem);
             //节点定义
             _md       = new MenuCommandDefine("NodeDefine", "节点定义", this as IMenuCommand, null);
             _menuItem = new FrmMenuItem("节点定义", "NodeDefine", global::SinoSZMetaDataManager.Properties.Resources.g2, 80, _md);
             menuService.AddMenuItem(_menuPage, _menuGroup, _menuItem);
             //指标定义
             _md       = new MenuCommandDefine("GuideLineDefine", "指标定义", this as IMenuCommand, null);
             _menuItem = new FrmMenuItem("指标定义", "GuideLineDefine", global::SinoSZMetaDataManager.Properties.Resources.g3, 80, _md);
             menuService.AddMenuItem(_menuPage, _menuGroup, _menuItem);
         }
     }
 }
Beispiel #4
0
 /// <summary>
 /// 取辅助菜单页
 /// </summary>
 /// <returns></returns>
 public IList<FrmMenuPage> GetMenuPages()
 {
     IList<FrmMenuPage> _ret = new List<FrmMenuPage>();
     FrmMenuPage _page = new FrmMenuPage("指标查询");
     _page.MenuGroups = GetMenuGroups(_page.PageTitle);
     _ret.Add(_page);
     return _ret;
 }
Beispiel #5
0
        public IList <FrmMenuPage> GetMenuPages()
        {
            IList <FrmMenuPage> _ret  = new List <FrmMenuPage>();
            FrmMenuPage         _page = new FrmMenuPage(_menuPageName);

            _page.MenuGroups = GetMenuGroups(_page.PageTitle);
            _ret.Add(_page);

            return(_ret);
        }
Beispiel #6
0
        private void AddSubMenu(SinoMenuItem _fmenuitem, List <SinoMenuItem> _menuList, FrmMenuPage _fmp)
        {
            SinoMenuFatherFinder _finder      = new SinoMenuFatherFinder(_fmenuitem.MenuID);
            List <SinoMenuItem>  _subMenuList = _menuList.FindAll(new Predicate <SinoMenuItem>(_finder.FindByFather));

            _subMenuList.Sort(new SinoMenuComparer());
            foreach (SinoMenuItem _smi in _subMenuList)
            {
                FrmMenuGroup _fmg = new FrmMenuGroup(_smi.MenuID, _smi.MenuTitle, _smi.CanUse);
                this.AddMenuGroup(_fmp, _fmg);
                if (_smi.MenuType != "")
                {
                    MenuTypeBase   _mtype        = MenuTypeCreator.CreateMenuType(_smi.MenuType);
                    IPluginService pluginService = (IPluginService)application.GetService(typeof(IPluginService));
                    IPlugin        _plugin       = pluginService.GetPluginInstance(_mtype.MenuTypePluginName);
                    if (_plugin == null)
                    {
                        RaiseLoadErrord(new CommonEventArgs(string.Format("未找到组菜单定义:{0}", _mtype)));
                    }
                    else
                    {
                        _plugin.Load(_fmg, _smi.MenuParameter);
                    }
                }
                else
                {
                    this.AddSubMenuItem(_smi, _menuList, _fmg);
                }
            }
        }