public ActionResult GetTopNav(SitePageBase page) { //var listServiceStartPages = _groContentDataService.GetChildrenByVisitor<ServiceStartPage>(ContentReference.StartPage, true); var startPage = _contentRepository.Get <StartPage>(ContentReference.StartPage); var listServiceStartPages = _groContentDataService.GetChildrenForVisitor <ServiceStartPage>(startPage, HttpContext); var model = new TopNavigationModel(); var serviceStartPages = listServiceStartPages as ServiceStartPage[] ?? listServiceStartPages.ToArray(); if (serviceStartPages.Any()) { model.ListServiceStartPageItems.AddRange(serviceStartPages.Select(item => new NavigationItemModel { ContentLink = item.ContentLink, Text = item.Name, CssClass = GetNavCssClassForService(item) })); } // get service name var topLevelServiceStartPage = page as ServiceStartPage ?? _groContentDataService.FindAncestor <ServiceStartPage>(page); var startPageRef = topLevelServiceStartPage?.ContentLink ?? ContentReference.EmptyReference; var startpageText = topLevelServiceStartPage?.Name ?? string.Empty; if (string.IsNullOrEmpty(startpageText)) { var topLevelStartPage = page as StartPage ?? _groContentDataService.FindAncestor <StartPage>(page); if (topLevelStartPage != null && !ContentReference.IsNullOrEmpty(topLevelStartPage.SettingsPage)) { var settingPage = _contentRepository.Get <PageData>(topLevelStartPage.SettingsPage); startpageText = (settingPage as SettingsPage)?.SelectServiceText ?? string.Empty; startPageRef = topLevelStartPage.ContentLink; } } model.StartPageText = startpageText; model.StartpageReference = startPageRef; return(PartialView("Navigations/_TopNavigation", model)); }
public ActionResult GetSubNav(SitePageBase page) { var startPage = (page as ServiceStartPage) ?? _groContentDataService.FindAncestor <ServiceStartPage>(page); var directSubNavigation = (PageData)_groContentDataService.FindAncestor <FolderPage>(page) ?? page; var navigationItems = startPage == null ? new NavigationItemModel[0] : _groContentDataService .GetChildrenForVisitor <PageData>(startPage, HttpContext) .Select(startPageChild => new NavigationItemModel { ContentLink = startPageChild.ContentLink, Text = startPageChild.Name, IsActive = directSubNavigation.ContentGuid == startPageChild.ContentGuid, Children = _groContentDataService .GetChildrenForVisitor <SitePageBase>(startPageChild, HttpContext) .Select(c => new NavigationItemModel { Text = c.Name, ContentLink = c.ContentLink, //IsActive = c.ContentGuid == page.ContentGuid, IsActive = IsSelfOrDirectChild(c, page), Children = _groContentDataService.GetChildrenForVisitor <SitePageBase>(c, HttpContext) .Select(subChild => new NavigationItemModel { Text = subChild.Name, ContentLink = subChild.ContentLink, IsActive = IsSelfOrDirectChild(subChild, page), }) .ToArray() }) .ToArray() }) .ToArray(); return(PartialView("Navigations/_SubNavigation", navigationItems)); }
public ActionResult GetRightNav(SitePageBase page, int minLevel = 3, Type[] pageTypes = null) { var rightNavModel = GetRightNavModel(page, minLevel, pageTypes); return(PartialView("_RightNavigation", rightNavModel)); }