示例#1
0
        public static IEnumerable <PageData> FindPages(string pageTypeId)
        {
            var criteria = new PropertyCriteriaCollection();

            if (FilterStrategy.ShouldFilterOnPageType(pageTypeId))
            {
                criteria.Add(PropertyCriteriaGenerator.ForPageType(pageTypeId));
            }

            return(DataFactory.Instance.FindPagesWithCriteria(PageReference.RootPage, criteria));
        }
示例#2
0
        public static IEnumerable <int> PathsToPagesOfSelected(string pageTypeId)
        {
            if (!FilterStrategy.ShouldFilterOnPageType(pageTypeId))
            {
                return(Enumerable.Empty <int>());
            }
            var selectedPages = FindPages(pageTypeId).ToList();
            var parents       = FindAllDistinctParentsTo(selectedPages);

            return(parents.Union(selectedPages.Select(p => p.PageLink.ID)));
        }