Пример #1
0
        public Page GetPageTree(Guid currentPageId, SystemPageFilter systemFilter, Guid parentId = new Guid())
        {
            Page root;

            root = parentId != Guid.Empty ? GetPageTree(parentId) : _pageRepository.GetPageTree();

            Func <Page, bool> predicate = null;

            //system page filter
            if (systemFilter == SystemPageFilter.PublicOnly)
            {
                //page.ChildPage = page.ChildPage.Where(p => !p.IsSystem).ToList();
                predicate = p => !p.IsSystem && p.IsActive && p.IsIncludedInMenu && HasViewPermission(p);
            }
            else if (systemFilter == SystemPageFilter.SystemOnly)
            {
                //page.ChildPage = page.ChildPage.Where(p => p.IsSystem).ToList();
                predicate = p => p.IsSystem && p.IsActive && p.IsIncludedInMenu && HasViewPermission(p);
            }


            FilterPage(root, currentPageId, predicate);
            SetBreadCrumb(currentPageId, root);
            return(root);
        }
Пример #2
0
        public MenuItem GetMenuItemTree(Guid currentPageId, SystemPageFilter systemFilter, Guid parentId = new Guid())
        {
            var rootPage       = GetPageTree(currentPageId, systemFilter, parentId);
            var currentCulture = _scopeService.PageContext.CurrentCulture.ToString();
            var siteRoot       = _scopeService.PageContext.SiteSettingInfo.SiteRoot;

            var rootMenuItem = GetMenuItemIteratively(rootPage, currentCulture, siteRoot);

            return(rootMenuItem);
        }
Пример #3
0
        public MenuItem GetMenuItemTree(Guid currentPageId, SystemPageFilter systemFilter, Guid parentId = new Guid())
        {
            try
            {
                var rootPage       = GetPageTree(currentPageId, systemFilter, parentId);
                var currentCulture = _scopeService.PageContext.CurrentCulture.ToString();
                var siteRoot       = _scopeService.PageContext.SiteSettingInfo.SiteRoot;

                var rootMenuItem = GetMenuItemIteratively(rootPage, currentCulture, siteRoot);
                return(rootMenuItem);
            }
            catch (Exception ex)
            {
                _logger.LogError("Error occured while getting menu item tree", ex);
            }
            return(null);
        }
Пример #4
0
        public Page GetPageTree(Guid currentPageId, SystemPageFilter systemFilter, Guid parentId = new Guid())
        {
            try
            {
                Page root;
                if (parentId != Guid.Empty)
                {
                    root = GetPageTree(parentId);
                }
                else
                {
                    root = _pageRepository.GetPageTree();
                }

                Func <Page, bool> predicate = null;

                //system page filter
                if (systemFilter == SystemPageFilter.PublicOnly)
                {
                    //page.ChildPage = page.ChildPage.Where(p => !p.IsSystem).ToList();
                    predicate = p => !p.IsSystem && !p.IsDeleted && p.IsIncludedInMenu && HasViewPermission(p);
                }
                else if (systemFilter == SystemPageFilter.SystemOnly)
                {
                    //page.ChildPage = page.ChildPage.Where(p => p.IsSystem).ToList();
                    predicate = p => p.IsSystem && !p.IsDeleted && p.IsIncludedInMenu && HasViewPermission(p);
                }


                FilterPage(root, currentPageId, predicate);
                SetBreadCrumb(currentPageId, root);
                return(root);
            }
            catch (Exception ex)
            {
                _logger.LogError("Error occured while getting GetPageTree with filter", ex);
            }
            return(null);
        }