public List<Guid> GetPageHierarchy(Guid siteID, Guid rootContentID)
{
List<Guid> lstSub = new List<Guid>();
int iDepth = 10000;
List<Guid> lstFoundIDs = new List<Guid>();
lstFoundIDs.Add(rootContentID);
while (iDepth > 1) {
lstSub = (from ct in CannedQueries.GetLatestContentList(db, siteID, false)
where ct.SiteID == siteID
&& (!lstFoundIDs.Contains(ct.Root_ContentID) && lstFoundIDs.Contains(ct.Parent_ContentID.Value))
select ct.Root_ContentID).Distinct().ToList();
lstFoundIDs = lstFoundIDs.Union(lstSub).ToList();
if (lstSub.Count < 1) {
break;
}
iDepth--;
}
return lstFoundIDs;
}