Beispiel #1
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));
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        public ActionResult GetRightNav(SitePageBase page, int minLevel = 3, Type[] pageTypes = null)
        {
            var rightNavModel = GetRightNavModel(page, minLevel, pageTypes);

            return(PartialView("_RightNavigation", rightNavModel));
        }