public SitePageDisplayModel ConvertToBlogDisplayModel(SitePage current, SitePage previous, SitePage next) { var defaultPhotoUrl = current?.Photos.FirstOrDefault(x => x.IsDefault == true); var previousPhotoUrl = previous?.Photos.FirstOrDefault(x => x.IsDefault == true); var nextPhotoUrl = next?.Photos.FirstOrDefault(x => x.IsDefault == true); var model = new SitePageDisplayModel(this.cacheService) { PageContent = new SitePageContentModel() { LastUpdatedDateTimeUtc = current.PublishDateTimeUtc, Content = current.Content, Key = current.Key, Title = current.Title, BreadcrumbName = current.BreadcrumbName, UrlPath = UrlBuilder.BlogUrlPath(current.SitePageSection.Key, current.Key), PreviousName = previous?.Title, PreviousUrlPath = (previous != null) ? UrlBuilder.BlogUrlPath(previous.SitePageSection.Key, previous.Key) : null, DefaultPreviousPhotoThumbCdnUrl = this.ConvertBlobToCdnUrl(previousPhotoUrl?.PhotoThumbUrl), NextName = next?.Title, NextUrlPath = (next != null) ? UrlBuilder.BlogUrlPath(next.SitePageSection.Key, next.Key) : null, DefaultNextPhotoThumbCdnUrl = this.ConvertBlobToCdnUrl(nextPhotoUrl?.PhotoThumbUrl), Photos = this.AddPhotos(current.Photos), DefaultPhotoThumbUrl = defaultPhotoUrl?.PhotoThumbUrl, DefaultPhotoThumbCdnUrl = this.ConvertBlobToCdnUrl(defaultPhotoUrl?.PhotoThumbUrl), DefaultPhotoUrl = defaultPhotoUrl?.PhotoPreviewUrl, DefaultPhotoCdnUrl = this.ConvertBlobToCdnUrl(defaultPhotoUrl?.PhotoPreviewUrl), MetaDescription = current.MetaDescription } }; if (current.SitePageTags != null) { foreach (var sitePageTag in current.SitePageTags) { model.PageContent.Tags.Add(sitePageTag.Tag.Name); } model.PageContent.Tags = model.PageContent.Tags.OrderBy(x => x).ToList(); } return(model); }
private SitePageDisplayModel CreateDisplayModel(SitePageSection sitePageSection, SitePage sitePage) { var contentModel = this.CreatePageContentModel(sitePageSection, sitePage); var comments = this.BuildComments(sitePage); var displayModel = new SitePageDisplayModel(this.cacheService) { BreadcrumbList = this.BuildBreadcrumbList(sitePageSection, sitePage), PageType = sitePage.PageType, Review = this.BuildReviewModel(sitePageSection, sitePage), PageContent = contentModel, Comments = comments, AllowCommenting = sitePage.AllowsComments, }; displayModel.PostComment.SitePageId = sitePage.SitePageId; return(displayModel); }
private SitePageDisplayModel CreateDisplayListModel( SitePageSection sitePageSection = null, SitePage sitePage = null, string tagKey = null, int pageNumber = 1) { var displayModel = new SitePageDisplayModel(this.cacheService); List <SitePage> pages; int total = 0; if (string.IsNullOrWhiteSpace(tagKey)) { var contentModel = this.CreatePageContentModel(sitePageSection, sitePage); displayModel = new SitePageDisplayModel(this.cacheService) { BreadcrumbList = this.BuildBreadcrumbList(sitePageSection, sitePage), PageType = sitePage.PageType, Review = this.BuildReviewModel(sitePageSection, sitePage), PageContent = contentModel }; pages = this.sitePageRepository.GetLivePageBySection( sitePageSection.SitePageSectionId, pageNumber, PageSize, out total); pages = pages.Where(x => x.IsSectionHomePage == false).ToList(); } else { displayModel.TagKey = tagKey; displayModel.TagKeyword = this.tagRepository.Get(tagKey).Name; displayModel.PageContent.Title = $"{displayModel.TagKeyword} - Pages Tagged"; displayModel.PageContent.PageHeader = displayModel.PageContent.Title; displayModel.PageContent.MetaDescription = $"Pages which are tagged {displayModel.TagKeyword}"; displayModel.PageType = PageType.PageList; pages = this.sitePageRepository.GetLivePageByTag( tagKey, pageNumber, PageSize, out total); } var pageCount = (double)total / PageSize; displayModel.Paging = new SitePagePagingModel() { CurrentPageNumber = pageNumber, PageCount = (int)Math.Ceiling(pageCount), QuantityPerPage = PageSize, Total = total }; foreach (var page in pages) { var itemPageModel = this.CreatePageContentModel(page.SitePageSection, page); if (itemPageModel.IsIndex) { continue; } displayModel.Items.Add(itemPageModel); } return(displayModel); }