示例#1
0
        /// <summary>
        /// 构建Menu树
        /// </summary>
        private void BuildMenuTree()
        {
            this.treeMenu.Nodes.Clear();

            ITreeObjectNode node = this.LoadMenuTree();

            this.treeMenu.Nodes.Add(BuildTreeNode(node));

            LanguageWord lword = this.languageComponent1.GetLanguage("menuRoot");

            if (lword != null)
            {
                this.treeMenu.Nodes[0].Text = lword.ControlText;
            }

            //this.treeMenu.ExpandAll();
            this.treeMenu.CollapseAll();
            if (this.treeMenu.SelectedNode != null)
            {
                Infragistics.WebUI.UltraWebNavigator.Node nodeParent = this.treeMenu.SelectedNode.Parent;
                while (nodeParent != null)
                {
                    nodeParent.Expand(false);
                    nodeParent = nodeParent.Parent;
                }
            }
            this.BuildParenMenuCodeList();
        }
示例#2
0
        /*
         *      private void treeMenu_NodeClicked(object sender, Infragistics.WebUI.UltraWebNavigator.WebTreeNodeEventArgs e)
         *      {
         *              if ( e.Node.Tag != null )
         *              {
         *                      this.txtMenuCodeQuery.Text =  ((MenuTreeNode)e.Node.Tag).MenuWithUrl.MenuCode;
         *              }
         *              else
         *              {
         *                      this.txtMenuCodeQuery.Text = "";
         *              }
         *
         *              this.gridHelper.RequestData();
         *              this.buttonHelper.PageActionStatusHandle( PageActionType.Query );
         *
         *              try
         *              {
         *                      this.drpParentMenuCodeEdit.SelectedValue = this.txtMenuCodeQuery.Text;
         *              }
         *              catch
         *              {
         *                      this.drpParentMenuCodeEdit.SelectedIndex = 0;
         *              }
         *      }
         */
        private bool CheckParentMenu(string parentMenuCode)
        {
            if (parentMenuCode == "")
            {
                return(true);
            }

            ITreeObjectNode node = this.LoadMenuTree().GetTreeObjectNodeByID(this.txtMenuCodeEdit.Text);

            if (node == null)
            {
                ExceptionManager.Raise(this.GetType(), "$Error_Node_Lost");
            }

            TreeObjectNodeSet set = node.GetAllNodes();

            foreach (ITreeObjectNode childNode in set)
            {
                if (childNode.ID.ToUpper() == parentMenuCode.ToUpper())
                {
                    ExceptionManager.Raise(this.GetType(), "$Error_Parent_To_Children");
                }
            }

            return(true);
        }
示例#3
0
        /// <summary>
        /// 构建Document树
        /// </summary>
        /// <param name="reload">是否重新从数据库中读取Document树</param>
        private void BuildDocumentTree(bool reload)
        {
            this.treeDocument.Nodes.Clear();

            if (reload)
            {
                this.LoadDocumentTreeToApplication();
            }

            ITreeObjectNode node = LoadDocumentTreeToApplication();

            this.treeDocument.Nodes.Add(BuildTreeNode(node));

            LanguageWord lword = this.languageComponent1.GetLanguage("documentRoot");

            if (lword != null)
            {
                this.treeDocument.Nodes[0].Text = lword.ControlText;
            }

            //this.treeModule.ExpandAll();
            this.treeDocument.CollapseAll();
            if (this.treeDocument.SelectedNode != null)
            {
                Infragistics.WebUI.UltraWebNavigator.Node nodeParent = this.treeDocument.SelectedNode.Parent;
                while (nodeParent != null)
                {
                    nodeParent.Expand(false);
                    nodeParent = nodeParent.Parent;
                }
            }

            this.BuildParentDocumentCodeList();
        }
示例#4
0
        private bool CheckParentDocDir(string parentDirCode)
        {
            if (parentDirCode == "")
            {
                return(true);
            }

            ITreeObjectNode node = LoadDocumentTreeToApplication().GetTreeObjectNodeByID(this.txtDirSerialEdit.Text);

            if (node == null)
            {
                ExceptionManager.Raise(this.GetType(), "$Error_Node_Lost");
            }

            TreeObjectNodeSet set = node.GetAllNodes();

            foreach (ITreeObjectNode childNode in set)
            {
                if (childNode.ID.ToUpper() == parentDirCode.ToUpper())
                {
                    ExceptionManager.Raise(this.GetType(), "$Error_Parent_To_Children");
                }
            }

            return(true);
        }
示例#5
0
 public bool IsEqual(ITreeObjectNode ln, ITreeObjectNode rn)
 {
     if (ln.ID.ToUpper() == rn.ID.ToUpper())
     {
         return(true);
     }
     return(false);
 }
示例#6
0
        public IMenu[] Build()
        {
            this.GetUnVisibilityMenu(ApplicationService.Current().DataProvider);

            SystemSettingFacade facade = new SystemSettingFacade(ApplicationService.Current().DataProvider);
            bool   bIsAdmin            = false;
            string strUserCode         = ApplicationService.Current().UserCode;

            if (strUserCode.ToUpper() == "ADMIN")
            {
                bIsAdmin = true;
            }
            else
            {
                for (int i = 0; ApplicationService.Current().LoginInfo.UserGroups != null && i < ApplicationService.Current().LoginInfo.UserGroups.Length; i++)
                {
                    if (((UserGroup)ApplicationService.Current().LoginInfo.UserGroups[i]).UserGroupType == "ADMIN")
                    {
                        bIsAdmin = true;
                        break;
                    }
                }
            }
            if (bIsAdmin == true)
            {
                strUserCode = string.Empty;
            }

            ITreeObjectNode rootNode = facade.BuildMenuTreePDA(strUserCode);

            TreeObjectNodeSet set = rootNode.GetSubLevelChildrenNodes();

            ArrayList listMenu = new ArrayList();

            foreach (MenuTreeNode node in set)
            {
                if (node.MenuWithUrl.MenuType.ToUpper() == MenuType.MenuType_PDA.ToUpper())
                {
                    if (this.menuHT != null && this.menuHT.Contains(node.MenuWithUrl.ModuleCode))
                    {
                        continue;
                    }
                    if (this.htUnVisibilityMenu != null && this.htUnVisibilityMenu.Contains(node.MenuWithUrl.MenuCode))
                    {
                        continue;
                    }
                    listMenu.Add(BuildUltraMenuItem(node));
                }
            }

            if (listMenu.Count > 0)
            {
                MenuCommand[] menuList = new MenuCommand[listMenu.Count];
                listMenu.CopyTo(menuList);
                return(menuList);
            }
            return(null);
        }
示例#7
0
        public static void Build(PageNavigator pageNavigator, string moduleCode, string url, Hashtable urls, ControlLibrary.Web.Language.LanguageComponent languageComponent, IDomainDataProvider _domainDataProvider, BasePage page)
        {
            if (pageNavigator == null)
            {
                return;
            }

            pageNavigator.Clear();
            pageNavigator.AddRootPageNavigator("MES", "");

            //BenQGuru.eMES.Common.Domain.IDomainDataProvider _domainDataProvider = BenQGuru.eMES.Common.DomainDataProvider.DomainDataProviderManager.DomainDataProvider();
            SystemSettingFacade facade = new SystemSettingFacade(_domainDataProvider);           // new SystemSettingFacadeFactory().Create();

            ITreeObjectNode moduleTree = facade.BuildModuleTree();
            ITreeObjectNode currNode   = ((ITreeObjectNode)moduleTree).GetTreeObjectNodeByID(moduleCode);

            if (currNode == null)
            {
                ExceptionManager.Raise(typeof(Module), "$Error_Module_Not_Exist", string.Format("[$ModuleCode={0}]", moduleCode));
            }

            TreeObjectNodeSet set = currNode.GetChainFromRoot();

            //foreach ( ModuleTreeNode node in set )
            for (int i = 0; i < set.Count; i++)
            {
                ModuleTreeNode node = (set[i] as ModuleTreeNode);
                if (node.ID != string.Empty)
                {
                    languageComponent.Language = Web.Helper.SessionHelper.Current(page.Session).Language;
                    string name = languageComponent.GetString(Module_Prefix + node.Module.ModuleCode);

                    if (name == string.Empty)
                    {
                        name = node.Module.ModuleCode;
                    }

                    if (i < set.Count - 1)
                    {
                        string key = pageNavigator.Request.ApplicationPath.TrimEnd('/', '\\') + "/" + node.Module.FormUrl;
                        if (urls.Contains(key.ToUpper()))
                        {
                            pageNavigator.AddPageNavigator(name, urls[key.ToUpper()].ToString());
                        }
                        else
                        {
                            pageNavigator.AddPageNavigator(name, node.Module.FormUrl);
                        }
                    }
                    else
                    {
                        pageNavigator.AddPageNavigator(name, url);
                    }
                }
            }
        }
示例#8
0
        public void AddSubTreeObjectNode(ITreeObjectNode parent, ITreeObjectNode sub)
        {
            sub.Parent = parent;
            _parentChild pc = new _parentChild(parent.ID, sub.ID);

            this._nodeSet.Add(pc);

            this._nodeInfoSet.Add(parent);
            this._nodeInfoSet.Add(sub);
        }
示例#9
0
 public void AddSubTreeObjectNodeRange(ITreeObjectNode parent, ITreeObjectNode[] subs)
 {
     if (subs != null)
     {
         foreach (ITreeObjectNode sub in subs)
         {
             this.AddSubTreeObjectNode(parent, sub);
         }
     }
 }
示例#10
0
        private void AppendParentParameter(ITreeObjectNode node, string prefix)
        {
            drpParentParameter.Items.Add(new ListItem(prefix + node.Text, node.Text));
            TreeObjectNodeSet nodeSet = node.GetSubLevelChildrenNodes();

            for (int i = 0; i < nodeSet.Count; i++)
            {
                char nbsp = (char)0xA0;
                AppendParentParameter((ITreeObjectNode)nodeSet[i], prefix + (new string(nbsp, 4)));
            }
        }
示例#11
0
        public TreeObjectNodeSet GetSubLevelChildrenNodes(ITreeObjectNode parent)
        {
            TreeObjectNodeSet ret  = new TreeObjectNodeSet();
            TreeObjectNodeSet nset = this._find(parent.ID);

            foreach (_parentChild pc in nset)
            {
                ret.Add(this._findNode(pc.CID));
            }
            return(ret);
        }
示例#12
0
        private void InitDepartmentList()
        {
            this.drpDepartmentEdit.Items.Clear();
            BenQGuru.eMES.BaseSetting.SystemSettingFacade sysFacade = new BenQGuru.eMES.BaseSetting.SystemSettingFacade(this.DataProvider);
            ITreeObjectNode   node    = sysFacade.BuildParameterTree("DEPARTMENT");
            TreeObjectNodeSet nodeSet = node.GetSubLevelChildrenNodes();

            for (int i = 0; i < nodeSet.Count; i++)
            {
                AppendParentParameter((ITreeObjectNode)nodeSet[i], "");
            }
        }
示例#13
0
        public TreeObjectNodeSet GetAllNodes(ITreeObjectNode parent)
        {
            TreeObjectNodeSet nSet = new TreeObjectNodeSet();

            nSet.Add(parent);

            foreach (ITreeObjectNode node in parent.GetSubLevelChildrenNodes())
            {
                nSet.AddRange(node.GetAllNodes());
            }

            return(nSet);
        }
示例#14
0
        public TreeObjectNodeSet GetChainFromRoot(ITreeObjectNode node)
        {
            TreeObjectNodeSet nset = new TreeObjectNodeSet();

            nset.Add(node);

            while (node.Parent != null)
            {
                nset.Insert(0, node.Parent);
                node = node.Parent;
            }

            return(nset);
        }
示例#15
0
        public ITreeObjectNode GetTreeObjectNodeByID(string id)
        {
            ITreeObjectNode ret = null;

            foreach (ITreeObjectNode node in this._nodeInfoSet)
            {
                if (node.ID.ToUpper() == id.ToUpper())
                {
                    ret = node;
                    break;
                }
            }
            return(ret);
        }
示例#16
0
        public void MoveTreeObjectNode(ITreeObjectNode from, ITreeObjectNode to)
        {
            this._nodeSet.Remove(this._find(from.Parent.ID, from.ID));
            this._nodeSet.Add(new _parentChild(to.ID, from.ID));

            foreach (ITreeObjectNode node in this._nodeInfoSet)
            {
                if (node.ID == from.ID)
                {
                    node.Parent = to;
                    return;
                }
            }

            ExceptionManager.Raise(this.GetType(), "$Error_TreeObjectNode_Not_Found", string.Format("[$NodeID=]", from.ID));
        }
示例#17
0
        public void BuildRPT(WebDataMenu ultraMenu, ControlLibrary.Web.Language.LanguageComponent languageComponent, IDomainDataProvider _domainDataProvider)
        {
            this.GetXMLMenu();  //获取不要显示的模块
            this.GetUnVisibilityMenu(_domainDataProvider);

            if (ultraMenu == null)
            {
                return;
            }

            ultraMenu.Items.Clear();

            //BenQGuru.eMES.Common.Domain.IDomainDataProvider _domainDataProvider = BenQGuru.eMES.Common.DomainDataProvider.DomainDataProviderManager.DomainDataProvider();
            SystemSettingFacade facade   = new SystemSettingFacade(_domainDataProvider);
            ITreeObjectNode     rootNode = facade.BuildMenuTreeRPT();

            TreeObjectNodeSet set = rootNode.GetSubLevelChildrenNodes();

            foreach (MenuTreeNode node in set)
            {
                if (node.MenuWithUrl.MenuType.ToUpper() == MenuType.MenuType_RPT.ToUpper())
                {
                    if (this.menuHT != null && this.menuHT.Contains(node.MenuWithUrl.ModuleCode))
                    {
                        continue;
                    }
                    if (this.htUnVisibilityMenu != null && this.htUnVisibilityMenu.Contains(node.MenuWithUrl.MenuCode))
                    {
                        continue;
                    }

                    ultraMenu.Items.Add(BuildUltraMenuItemRPT(node, languageComponent));
                }
            }

            DataMenuItem item = new DataMenuItem();

            item.Text        = "";
            item.NavigateUrl = "#";

            ultraMenu.Items.Add(item);

            if (_domainDataProvider != null)
            {
                ((SQLDomainDataProvider)_domainDataProvider).PersistBroker.CloseConnection();
            }
        }
示例#18
0
        private Infragistics.WebUI.UltraWebNavigator.Node BuildTreeNode(ITreeObjectNode treeNode)
        {
            Infragistics.WebUI.UltraWebNavigator.Node node = new Node();

            node.Text = treeNode.Text;
            node.Tag  = treeNode;

            if (treeNode.Text == this.txtDirNameEdit.Text)
            {
                this.treeDocument.SelectedNode = node;
            }

            foreach (ITreeObjectNode subNode in treeNode.GetSubLevelChildrenNodes())
            {
                node.Nodes.Add(BuildTreeNode(subNode));
            }

            return(node);
        }
示例#19
0
        private void InitParentParameterList()
        {
            this.drpParentParameter.Items.Clear();
            drpParentParameter.Items.Add("");
            if (drpParameterGroupCodeEdit.SelectedValue == string.Empty)
            {
                return;
            }
            if (_facade == null)
            {
                _facade = new SystemSettingFacade(base.DataProvider);
            }
            ITreeObjectNode   node    = _facade.BuildParameterTree(drpParameterGroupCodeEdit.SelectedValue);
            TreeObjectNodeSet nodeSet = node.GetSubLevelChildrenNodes();

            for (int i = 0; i < nodeSet.Count; i++)
            {
                AppendParentParameter((ITreeObjectNode)nodeSet[i], "");
            }
        }
示例#20
0
 public bool IsEqual(ITreeObjectNode node)
 {
     return(this._helper.IsEqual(this, node));
 }
示例#21
0
 public void MoveTreeObjectNode(ITreeObjectNode parent)
 {
     this._helper.MoveTreeObjectNode(this, parent);
 }
示例#22
0
 public void DeleteSubTreeObjectNode(ITreeObjectNode node)
 {
     this._helper.DeleteSubTreeObjectNode(this, node);
 }
示例#23
0
 public void AddSubTreeObjectNode(ITreeObjectNode node)
 {
     this._helper.AddSubTreeObjectNode(this, node);
 }
示例#24
0
        public void Build(WebDataMenu ultraMenu, ControlLibrary.Web.Language.LanguageComponent languageComponent, IDomainDataProvider _domainDataProvider)
        {
            this.GetXMLMenu();  //获取不要显示的模块
            this.GetUnVisibilityMenu(_domainDataProvider);

            if (ultraMenu == null)
            {
                return;
            }

            ultraMenu.Items.Clear();

            //BenQGuru.eMES.Common.Domain.IDomainDataProvider _domainDataProvider = BenQGuru.eMES.Common.DomainDataProvider.DomainDataProviderManager.DomainDataProvider();
            SystemSettingFacade facade = new SystemSettingFacade(_domainDataProvider);

            #region 添加报表平台菜单入口

            //获得系统参数里面的报表平台菜单入口
            string reportViewMenuCode = string.Empty;
            Domain.BaseSetting.Parameter parameter = (Domain.BaseSetting.Parameter)facade.GetParameter("REPORTMENU", "REPORTMENU");
            if (parameter != null)
            {
                reportViewMenuCode = FormatHelper.PKCapitalFormat(FormatHelper.CleanString(parameter.ParameterAlias));
            }

            //获得系统参数里面的报表平台菜单Item
            DataMenuItem reportViewMenuItem = GetReportViewMenuRoot(reportViewMenuCode, languageComponent, _domainDataProvider);

            #endregion

            ITreeObjectNode rootNode = facade.BuildMenuTree();

            TreeObjectNodeSet set = rootNode.GetSubLevelChildrenNodes();
            foreach (MenuTreeNode node in set)
            {
                if (node.MenuWithUrl.MenuType.ToUpper() == MenuType.MenuType_BS.ToUpper())
                {
                    if (this.menuHT != null && this.menuHT.Contains(node.MenuWithUrl.ModuleCode))
                    {
                        continue;
                    }
                    if (this.htUnVisibilityMenu != null && this.htUnVisibilityMenu.Contains(node.MenuWithUrl.MenuCode))
                    {
                        continue;
                    }
                    ultraMenu.Items.Add(BuildUltraMenuItem(node, languageComponent, reportViewMenuCode, reportViewMenuItem));
                }
            }

            DataMenuItem item = new DataMenuItem();

            item.Text        = "";
            item.NavigateUrl = "#";

            ultraMenu.Items.Add(item);

            if (_domainDataProvider != null)
            {
                ((SQLDomainDataProvider)_domainDataProvider).PersistBroker.CloseConnection();
            }
        }
示例#25
0
 public void DeleteSubTreeObjectNode(ITreeObjectNode parent, ITreeObjectNode sub)
 {
     this._nodeSet.Remove(this._find(parent.ID, sub.ID));
     this._nodeInfoSet.Remove(this._findNode(sub.ID));
 }
示例#26
0
 public void Update(ITreeObjectNode node)
 {
     this._nodeInfoSet.Remove(node);
     this._nodeInfoSet.Add(node);
 }