public async Task <(string viewPath, PageVM viewModel)> GetPageAsync(string parentPage, string childPage = null) { if (parentPage.IsNullOrEmpty()) { parentPage = "Home"; } var page = await pageService.GetAsync(parentPage, childPage); var coreSettings = await settingService.GetSettingsAsync <CoreSettings>(); return("../Blog/Page", new PageVM { Id = page.Id, ParentId = page.ParentId, Author = page.User.DisplayName, Body = page.Body, Excerpt = page.Excerpt, CreatedOnDisplay = page.CreatedOn.ToDisplayString(coreSettings.TimeZoneId), UpdatedOnDisplay = page.UpdatedOn.HasValue ? page.UpdatedOn.Value.ToDisplayString(coreSettings.TimeZoneId) : page.CreatedOn.ToDisplayString(coreSettings.TimeZoneId), EditLink = BlogRoutes.GetPageEditLink(page.Id), IsParent = page.IsParent, AddChildLink = page.IsParent ? BlogRoutes.GetAddChildPageLink(page.Id) : "", Title = page.Title, PageLayout = (EPageLayout)page.PageLayout, ViewCount = page.ViewCount, }); }
/// <summary> /// Displays either a list of parents or a parent with its child pages. /// </summary> /// <param name="parentId"></param> /// <returns></returns> public async Task OnGetAsync(int parentId) { var pageVMs = await GetPageVMsAsync(parentId); PagesJson = JsonConvert.SerializeObject(pageVMs); ParentId = parentId; AddChildLink = parentId > 0 ? BlogRoutes.GetAddChildPageLink(parentId) : ""; }