/// <summary> /// Creates the test view model. /// </summary> /// <returns>Test view model</returns> private RenderPageViewModel CreateTestViewModel(bool extendModel = false) { var entity = new BlogPost { Title = "Fake Page Title", PageUrl = "/Fake/Page/Url/s", Id = new Guid("DB4C3C70-F5F3-44A1-9472-6155A9A77D89"), CreatedOn = new DateTime(2010, 11, 15), ModifiedOn = new DateTime(2012, 12, 3), CreatedByUser = "******", ModifiedByUser = "******", MetaTitle = "Fake Page Meta Title", MetaKeywords = "Fake Page Meta Keywords", MetaDescription = "Fake Page MetaDescription", ActivationDate = new DateTime(2012, 5, 12), ExpirationDate = new DateTime(2013, 4, 18) }; if (extendModel) { entity.Categories = new List<PageCategory>() { new PageCategory() { Category = new Category { Name = "Fake Category Name" }, Page = entity } }; entity.Author = new Author { Name = "Fake Author Name" }; entity.Image = new MediaImage { PublicUrl = "/Fake/Main/Image/Url/" }; entity.SecondaryImage = new MediaImage { PublicUrl = "/Fake/Secondary/Image/Url/" }; entity.FeaturedImage = new MediaImage { PublicUrl = "/Fake/Featured/Image/Url/" }; entity.ActivationDate = new DateTime(); var content = new BlogPostContent { ActivationDate = new DateTime(2012, 5, 12), ExpirationDate = new DateTime(2013, 4, 18) }; var pageContent = new PageContent { Content = content, Page = entity }; entity.PageContents = new List<PageContent> { pageContent }; } var model = new RenderPageViewModel(entity) { Options = new List<IOptionValue> { new OptionValueViewModel { OptionKey = OptionNames.Text, OptionValue = "Fake Option Value", Type = OptionType.Text }, new OptionValueViewModel { OptionKey = OptionNames.Float, OptionValue = 10.123456M, Type = OptionType.Float }, new OptionValueViewModel { OptionKey = OptionNames.Date, OptionValue = new DateTime(2009, 4, 27), Type = OptionType.DateTime } } }; if (extendModel) { model.Contents = new List<PageContentProjection>(); model.Contents.Add( new PageContentProjection( entity.PageContents[0], entity.PageContents[0].Content, new BlogPostContentAccessor((BlogPostContent)entity.PageContents[0].Content, new List<IOptionValue>()))); model.ExtendWithPageData(entity); model.ExtendWithBlogData(entity); } return model; }
/// <summary> /// Extends the page and master page view models with data from provided page entity. /// </summary> /// <param name="renderPageViewModel">The render page view model.</param> /// <param name="pageData">The page data.</param> private void ExtendPageWithPageData(RenderPageViewModel renderPageViewModel, IPage pageData) { if (renderPageViewModel.MasterPage != null) { ExtendPageWithPageData(renderPageViewModel.MasterPage, renderPageViewModel.PageData); } renderPageViewModel.ExtendWithPageData(pageData); }