private static async Task PageAndRenderDescendants(IContentDelivery contentDelivery, PagedContent pagedContent, Guid parentId, int page) { foreach (var contentItem in pagedContent.Content.Items) { RenderContentWithUrl(contentItem); } if (page < pagedContent.TotalPages) { int nextPage = page + 1; var nextPagedContent = await contentDelivery.GetDescendants(parentId, null, nextPage); await PageAndRenderDescendants(contentDelivery, nextPagedContent, parentId, nextPage); } }
private static async Task PrintTree(IContentDelivery contentDelivery, Content content, string indent, bool last) { System.Console.WriteLine(indent + "+- " + content.Name); indent += last ? " " : "| "; if (content.HasChildren) { var paged = await contentDelivery.GetChildren(content.Id); var items = paged.Content.Items.ToArray(); for (int i = 0; i < items.Count(); i++) { await PrintTree(contentDelivery, items[i], indent, i == items.Count() - 1); } } }