private void GetBreadCrumbsRecursively(ArrayList objBreadCrumbs, int intTabId) { // find the tab in the desktoptabs collection bool blnFound = false; TabInfo foundTab = null; foreach (TabInfo objTab in this.DesktopTabs) { if (objTab.TabID == intTabId) { blnFound = true; foundTab = objTab; break; } } // if tab was found if (blnFound) { // add tab to breadcrumb collection objBreadCrumbs.Insert(0, foundTab.Clone()); // get the tab parent if (!Null.IsNull(foundTab.ParentId)) { GetBreadCrumbsRecursively(objBreadCrumbs, foundTab.ParentId); } } }
public virtual TabInfo GetActiveTab(int tabId, PortalSettings portalSettings) { var portalId = portalSettings.PortalId; var portalTabs = TabController.Instance.GetTabsByPortal(portalId); var hostTabs = TabController.Instance.GetTabsByPortal(Null.NullInteger); //Check portal TabInfo activeTab = GetTab(tabId, portalTabs); if (activeTab == null) { //check host activeTab = GetTab(tabId, hostTabs); } if (activeTab == null) { //check splash tab activeTab = GetSpecialTab(portalId, portalSettings.SplashTabId); } if (activeTab == null) { //check home tab activeTab = GetSpecialTab(portalId, portalSettings.HomeTabId); } if (activeTab == null) { TabInfo tab = (from TabInfo t in portalTabs.AsList() where !t.IsDeleted && t.IsVisible && t.HasAVisibleVersion select t).FirstOrDefault(); if (tab != null) { activeTab = tab.Clone(); } } if (activeTab != null) { if (Null.IsNull(activeTab.StartDate)) { activeTab.StartDate = DateTime.MinValue; } if (Null.IsNull(activeTab.EndDate)) { activeTab.EndDate = DateTime.MaxValue; } } return(activeTab); }
private TabInfo GetSpecialTab(int portalId, int tabId) { TabInfo activeTab = null; if (tabId > 0) { TabInfo tab = TabController.Instance.GetTab(tabId, portalId, false); if (tab != null) { activeTab = tab.Clone(); } } return(activeTab); }
private void GetBreadCrumbsRecursively(ref ArrayList objBreadCrumbs, int intTabId) { TabInfo objTab = null; TabController objTabController = new TabController(); TabCollection portalTabs = objTabController.GetTabsByPortal(PortalId); TabCollection hostTabs = objTabController.GetTabsByPortal(Null.NullInteger); bool blnFound = portalTabs.TryGetValue(intTabId, out objTab); if (!blnFound) { blnFound = hostTabs.TryGetValue(intTabId, out objTab); } if (blnFound) { objBreadCrumbs.Insert(0, objTab.Clone()); if (!Null.IsNull(objTab.ParentId)) { GetBreadCrumbsRecursively(ref objBreadCrumbs, objTab.ParentId); } } }
public static LocalizedTabInfo GetLocalizedTab(int tabId, int portalId, bool fromCache) { TabInfo tabInfo = TabController.Instance.GetTab(tabId, portalId); if (tabInfo == null) { return(null); } else if (fromCache) { return(GetLocalizedTab(tabInfo, true)); } else { var tabController = new TabLocaleController(); var localizedTab = new LocalizedTabInfo(tabInfo.Clone()) { LocaleList = tabController.GetListByTabID(tabId).ToList() }; return(localizedTab); } }
private bool VerifyPortalTab(int PortalId, int TabId) { TabInfo objTab = null; TabInfo objSplashTab = null; TabInfo objHomeTab = null; bool isVerified = false; TabController objTabController = new TabController(); TabCollection portalTabs = objTabController.GetTabsByPortal(PortalId); TabCollection hostTabs = objTabController.GetTabsByPortal(Null.NullInteger); if (TabId != Null.NullInteger) { if (portalTabs.TryGetValue(TabId, out objTab)) { if (!objTab.IsDeleted) { this.ActiveTab = objTab.Clone(); isVerified = true; } } } if (!isVerified && TabId != Null.NullInteger) { if (hostTabs.TryGetValue(TabId, out objTab)) { if (!objTab.IsDeleted) { this.ActiveTab = objTab.Clone(); isVerified = true; } } } if (!isVerified && this.SplashTabId > 0) { objSplashTab = objTabController.GetTab(this.SplashTabId, PortalId, false); this.ActiveTab = objSplashTab.Clone(); isVerified = true; } if (!isVerified && this.HomeTabId > 0) { objHomeTab = objTabController.GetTab(this.HomeTabId, PortalId, false); this.ActiveTab = objHomeTab.Clone(); isVerified = true; } if (!isVerified) { foreach (TabInfo tab in portalTabs.AsList()) { if (!tab.IsDeleted && tab.IsVisible) { this.ActiveTab = tab.Clone(); isVerified = true; break; } } } if (Null.IsNull(this.ActiveTab.StartDate)) { this.ActiveTab.StartDate = System.DateTime.MinValue; } if (Null.IsNull(this.ActiveTab.EndDate)) { this.ActiveTab.EndDate = System.DateTime.MaxValue; } return(isVerified); }
/// <summary> /// The VerifyPortalTab method verifies that the TabId/PortalId combination /// is allowed and returns default/home tab ids if not /// </summary> /// <returns></returns> /// <remarks> /// </remarks> /// <param name="PortalId">The Portal's id</param> /// <param name="TabId">The current tab's id</param> private bool VerifyPortalTab(int PortalId, int TabId) { TabInfo objTab = null; TabInfo objSplashTab = null; TabInfo objHomeTab = null; bool isVerified = false; TabController objTabs = new TabController(); // find the tab in the desktoptabs collection if (TabId != Null.NullInteger) { foreach (TabInfo objTabWithinLoop in this.DesktopTabs) { objTab = objTabWithinLoop; if (objTabWithinLoop.TabID == TabId) { //Check if Tab has been deleted (is in recycle bin) if (!(objTabWithinLoop.IsDeleted)) { this.ActiveTab = objTabWithinLoop.Clone(); isVerified = true; break; } } } } // if tab was not found if (!isVerified & this.SplashTabId > 0) { // use the splash tab ( if specified ) objSplashTab = objTabs.GetTab(this.SplashTabId, PortalId, false); this.ActiveTab = objSplashTab.Clone(); isVerified = true; } // if tab was not found if (!isVerified & this.HomeTabId > 0) { // use the home tab ( if specified ) objHomeTab = objTabs.GetTab(this.HomeTabId, PortalId, false); this.ActiveTab = objHomeTab.Clone(); isVerified = true; } // if tab was not found if (!isVerified) { // get the first tab in the collection (that is valid) for (int i = 0; i <= this.DesktopTabs.Count; i++) { objTab = (TabInfo)(this.DesktopTabs[i]); //Check if Tab has not been deleted (not in recycle bin) and is visible if (!(objTab.IsDeleted) & objTab.IsVisible) { this.ActiveTab = objTab.Clone(); isVerified = true; break; } } } if (Null.IsNull(this.ActiveTab.StartDate)) { this.ActiveTab.StartDate = DateTime.MinValue; } if (Null.IsNull(this.ActiveTab.EndDate)) { this.ActiveTab.EndDate = DateTime.MaxValue; } return(isVerified); }