コード例 #1
0
        public virtual IEnumerable <TreeNavigationItemModel> GetLeftSideNavigation()
        {
            var navigationNodes = _nodeModelService.AsEnumerable()
                                  .Where(i => i.Level >= 1 && _nodeDirectAccessValidator.HasAccess(i) && !(i is HomePageModel))
                                  .OfType <IUintraNavigationComposition>()
                                  .OrderBy(i => i.SortOrder)
                                  .Where(i => i.Navigation.ShowInMenu.Value && i.Url.HasValue());

            var items = _navigationBuilder.GetTreeNavigation(navigationNodes);

            var home = _nodeModelService.AsEnumerable().OfType <HomePageModel>().First();

            items = items.Prepend(new TreeNavigationItemModel
            {
                Id        = home.Id,
                IsActive  = IsActive(home.Id),
                Level     = home.Level,
                ParentId  = home.ParentId,
                SortOrder = home.SortOrder,
                Title     = home.Navigation.NavigationTitle,
                Url       = home.Url
            });

            return(items);
        }