public ActionResult Index(PageData currentPage) { var model = new InternalNavigationItemModel(); var settingPage = ContentExtensions.GetSettingsPage(); var startpageReference = settingPage?.InternalStartPage; if (startpageReference == null) { throw new NullReferenceException("Reference to internal start page in settings is not set"); } var startPage = _contentRepository.Get<InternalStartPage>(startpageReference); model.Page = startPage; model.IsActive = currentPage?.ContentLink.ID == startPage?.ContentLink.ID; var childPages = _groContentDataService.GetChildrenForVisitor<PageData>(startPage, HttpContext); model.SubItems.AddRange(childPages.Select(x => GetSubItems(x, currentPage, x.URLSegment))); return PartialView("~/Views/InternalPages/_InternalNavigation.cshtml", model); }
public string GetMachineListUrl(HttpContextBase httpContext) { if (PageReference.IsNullOrEmpty(ContentReference.StartPage)) { return(null); } var startPage = ContentReference.StartPage.Get <StartPage>(); var maskinStartPage = _groContentservice.GetChildrenForVisitor <MaskinStartPage>(startPage, httpContext).FirstOrDefault(); if (maskinStartPage == null) { return(null); } var urlHelper = ServiceLocator.Current.GetInstance <UrlHelper>(); return(urlHelper.ContentUrl(maskinStartPage.ContentLink)); }
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)); }