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)); }
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))); }