public static IEnumerable <T> FindPagesRecursively <T>(this IContentLoader contentLoader, PageReference pageLink) where T : PageData { foreach (var child in contentLoader.GetChildren <T>(pageLink)) { yield return(child); } foreach (var folder in contentLoader.GetChildren <FolderPage>(pageLink)) { foreach (var nestedChild in contentLoader.FindPagesRecursively <T>(folder.PageLink)) { yield return(nestedChild); } } }
private QuickOrderPage.QuickOrderPage GetQuickOrderPage() => _contentLoader.FindPagesRecursively <QuickOrderPage.QuickOrderPage>(ContentReference.StartPage).FirstOrDefault();