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