public Page GetPageTree(Guid currentPageId, SystemPageFilter systemFilter, Guid parentId = new Guid()) { Page root; root = parentId != Guid.Empty ? GetPageTree(parentId) : _pageRepository.GetPageTree(); Func <Page, bool> predicate = null; //system page filter if (systemFilter == SystemPageFilter.PublicOnly) { //page.ChildPage = page.ChildPage.Where(p => !p.IsSystem).ToList(); predicate = p => !p.IsSystem && p.IsActive && p.IsIncludedInMenu && HasViewPermission(p); } else if (systemFilter == SystemPageFilter.SystemOnly) { //page.ChildPage = page.ChildPage.Where(p => p.IsSystem).ToList(); predicate = p => p.IsSystem && p.IsActive && p.IsIncludedInMenu && HasViewPermission(p); } FilterPage(root, currentPageId, predicate); SetBreadCrumb(currentPageId, root); return(root); }
public MenuItem GetMenuItemTree(Guid currentPageId, SystemPageFilter systemFilter, Guid parentId = new Guid()) { var rootPage = GetPageTree(currentPageId, systemFilter, parentId); var currentCulture = _scopeService.PageContext.CurrentCulture.ToString(); var siteRoot = _scopeService.PageContext.SiteSettingInfo.SiteRoot; var rootMenuItem = GetMenuItemIteratively(rootPage, currentCulture, siteRoot); return(rootMenuItem); }
public MenuItem GetMenuItemTree(Guid currentPageId, SystemPageFilter systemFilter, Guid parentId = new Guid()) { try { var rootPage = GetPageTree(currentPageId, systemFilter, parentId); var currentCulture = _scopeService.PageContext.CurrentCulture.ToString(); var siteRoot = _scopeService.PageContext.SiteSettingInfo.SiteRoot; var rootMenuItem = GetMenuItemIteratively(rootPage, currentCulture, siteRoot); return(rootMenuItem); } catch (Exception ex) { _logger.LogError("Error occured while getting menu item tree", ex); } return(null); }
public Page GetPageTree(Guid currentPageId, SystemPageFilter systemFilter, Guid parentId = new Guid()) { try { Page root; if (parentId != Guid.Empty) { root = GetPageTree(parentId); } else { root = _pageRepository.GetPageTree(); } Func <Page, bool> predicate = null; //system page filter if (systemFilter == SystemPageFilter.PublicOnly) { //page.ChildPage = page.ChildPage.Where(p => !p.IsSystem).ToList(); predicate = p => !p.IsSystem && !p.IsDeleted && p.IsIncludedInMenu && HasViewPermission(p); } else if (systemFilter == SystemPageFilter.SystemOnly) { //page.ChildPage = page.ChildPage.Where(p => p.IsSystem).ToList(); predicate = p => p.IsSystem && !p.IsDeleted && p.IsIncludedInMenu && HasViewPermission(p); } FilterPage(root, currentPageId, predicate); SetBreadCrumb(currentPageId, root); return(root); } catch (Exception ex) { _logger.LogError("Error occured while getting GetPageTree with filter", ex); } return(null); }