コード例 #1
0
ファイル: SinoMenuService.cs プロジェクト: aehyok/InputModel
        /// <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);
                    }
                }
            }
        }
コード例 #2
0
ファイル: SinoMenuService.cs プロジェクト: aehyok/InputModel
        public void LoadStartupPage()
        {
            ISinoMenu            _iSinoMenu    = MenuConfig.GetMenuInterface();
            List <firstPageItem> _startupMenus = _iSinoMenu.GetfirstPage();

            foreach (firstPageItem _menu in _startupMenus)
            {
                if (MenuDict.ContainsKey(_menu.ItemParam))
                {
                    FrmMenuItem _mitem = MenuDict[_menu.ItemParam];
                    if (_mitem.MenuCommand != null)
                    {
                        _mitem.MenuCommand.RunCommand(_mitem.MenuID);
                    }
                }
            }
        }
コード例 #3
0
        public static ISinoMenu GetMenuInterface()
        {
            string className, profilePath;

            string dataBaseType = ConfigurationManager.AppSettings["DataBaseType"] as string;

            switch (dataBaseType)
            {
            case "ORACLE":
                return(null);

            case "SQLSERVER":
                return(null);

            case "REMOTING":
                IServiceFactory _serviceFactory = (IServiceFactory)RemotingClientSvc.GetAppSvrObj(typeof(IServiceFactory));
                RemotingClientSvc.BindTicketToCallContext(SessionClass.CurrentTicket);
                ISinoMenu _ret = _serviceFactory.GetInterFace("MenuServerPlugin") as ISinoMenu;
                return(_ret);
            }

            return(null);
        }