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);
        }
Пример #2
0
        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));
        }
Пример #3
0
        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));
        }