private void CreateBlogBPage() { var result = SampleUtilities.CreatePage(new Guid(BlogBPageId), "Blog B"); if (result) { SampleUtilities.SetTemplateToPage(new Guid(BlogBPageId), new Guid(SamplesTemplateId)); var templateKey = SampleUtilities.GetControlTemplateKey(typeof(MasterPostsView), "Titles, dates and summaries"); SampleUtilities.RegisterBlogPostsFrontendView("BlogPostsFrontend", templateKey, typeof(MasterPostsView), "BlogPostsFrontendBlogList"); var blogsControl = new BlogPostView(); blogsControl.MasterViewName = "BlogPostsFrontendBlogList"; var parent = new List <Guid>() { new Guid(SampleBlogBId) }; ((IContentViewMasterDefinition)blogsControl.ControlDefinition.Views[blogsControl.MasterViewName]).ItemsParentsIds = parent; SampleUtilities.AddControlToPage(new Guid(BlogBPageId), blogsControl, "Content", "Blog B View"); // save default page for blog posts App.WorkWith().Blog(new Guid(SampleBlogBId)).Do(b => b.DefaultPageId = new Guid(BlogBPageId)).SaveChanges(); } }
public ActionResult <BlogPostView> GetBySlug(string slug) { if (string.IsNullOrWhiteSpace(slug)) { return(BadRequest()); } BlogPostView blogPostView = null; BlogPost blogPost = db.BlogPosts.Where(bp => bp.Slug == slug).Include(bp => bp.PostTags).FirstOrDefault(); if (blogPost != null) { blogPostView = bpConverter.ToBlogPostView(blogPost); return(blogPostView); } else { return(NotFound()); } }
public BlogPostView ToBlogPostView(BlogPost blogPost) { //Eager loads tags db.PostTags.Include(pt => pt.Tag).ToList(); BlogPostView blogPostView = new BlogPostView { Slug = blogPost.Slug, Title = blogPost.Title, Description = blogPost.Description, Body = blogPost.Body, CreatedAt = blogPost.CreatedAt, UpdatedAt = blogPost.UpdatedAt, FavoritesCount = blogPost.FavoritesCount, Favorited = blogPost.Favorited, TagList = blogPost.PostTags.Select(pt => pt.Tag.TagName) }; return(blogPostView); }
private void CreateSample(object[] args) { SampleUtilities.RegisterTheme(SamplesThemeName, SamplesThemePath); SampleUtilities.RegisterTemplate(new Guid(SamplesTemplateId), SamplesTemplateName, SamplesTemplateName, SamplesTemplatePath, SamplesThemeName); this.CreateForums(); this.CreateBlogs(); var result = SampleUtilities.CreatePage(new Guid(HomePageId), "Home", true); if (result) { SampleUtilities.SetTemplateToPage(new Guid(HomePageId), new Guid(SamplesTemplateId)); ContentBlockBase cb = new ContentBlockBase(); cb.Html = "<h1>Akismet Integration</h1><p>This sample demonstrates how to integrate Akismet with Sitefinity using the EventHub mechanism. You can submit new Forum posts or Blog comments, which will be checked through Akismet for spam.</p>"; SampleUtilities.AddControlToPage(new Guid(HomePageId), cb, "Content", "Content Block"); } var result2 = SampleUtilities.CreatePage(new Guid(ForumsPageId), "Forum"); if (result2) { SampleUtilities.SetTemplateToPage(new Guid(ForumsPageId), new Guid(SamplesTemplateId)); ForumsView forums = new ForumsView(); SampleUtilities.AddControlToPage(new Guid(ForumsPageId), forums, "Content", "Forums"); } var result3 = SampleUtilities.CreatePage(new Guid(BlogPageId), "Blog"); if (result3) { SampleUtilities.SetTemplateToPage(new Guid(BlogPageId), new Guid(SamplesTemplateId)); BlogPostView blogs = new BlogPostView(); SampleUtilities.AddControlToPage(new Guid(BlogPageId), blogs, "Content", "Blog Posts"); } }
private void CreateBlogPage() { var result = SampleUtilities.CreateLocalizedPage(new Guid(SampleConstants.TIUBlogPageId), "Blog", new Guid(SampleConstants.AboutTheUniversityPageId), "en"); if (result) { SampleUtilities.SetTemplateToLocalizedPage(new Guid(SampleConstants.TIUBlogPageId), new Guid(SampleConstants.EducationTemplateId), "en"); ContentBlockBase tiuBlogBlock = new ContentBlockBase(); tiuBlogBlock.Html = @"<h2>TIU Blog</h2>"; SampleUtilities.AddControlToLocalizedPage(new Guid(SampleConstants.TIUBlogPageId), tiuBlogBlock, "content", "Content block", "en"); var mainLayoutControl = new LayoutControl(); List<ColumnDetails> mainLayoutColumns = new List<ColumnDetails>(); ColumnDetails mainLayoutColumn1 = new ColumnDetails() { ColumnSpaces = new ColumnSpaces(0, 0, 0, 0), ColumnWidthPercentage = 25, PlaceholderId = "Left" }; mainLayoutColumns.Add(mainLayoutColumn1); ColumnDetails mainLayoutColumn2 = new ColumnDetails() { ColumnSpaces = new ColumnSpaces(0, 0, 0, 12), ColumnWidthPercentage = 75, PlaceholderId = "Right" }; mainLayoutColumns.Add(mainLayoutColumn2); mainLayoutControl.Layout = SampleUtilities.GenerateLayoutTemplate(mainLayoutColumns, string.Empty); mainLayoutControl.ID = "Main"; SampleUtilities.AddControlToLocalizedPage(new Guid(SampleConstants.TIUBlogPageId), mainLayoutControl, "content", "25% + 75%", "en"); var navigationControl = new NavigationControl(); navigationControl.NavigationMode = NavigationModes.VerticalSimple; navigationControl.SelectionMode = PageSelectionModes.CurrentPageSiblings; navigationControl.Skin = "left"; SampleUtilities.AddControlToLocalizedPage(new Guid(SampleConstants.TIUBlogPageId), navigationControl, "Main_Left", "Navigation", "en"); var blogsControl = new BlogPostView(); SampleUtilities.AddControlToLocalizedPage(new Guid(SampleConstants.TIUBlogPageId), blogsControl, "Main_Right", "Blog posts", "en"); } result = SampleUtilities.CreateLocalizedPage(new Guid(SampleConstants.TIUBlogPageId), "Blog", "de"); if (result) { SampleUtilities.SetTemplateToLocalizedPage(new Guid(SampleConstants.TIUBlogPageId), new Guid(SampleConstants.EducationTemplateId), "de"); ContentBlockBase tiuBlogBlockDE = new ContentBlockBase(); tiuBlogBlockDE.Html = @"<h2>TIU Blog</h2>"; SampleUtilities.AddControlToLocalizedPage(new Guid(SampleConstants.TIUBlogPageId), tiuBlogBlockDE, "content", "Content block", "de"); var mainLayoutControlDE = new LayoutControl(); List<ColumnDetails> mainLayoutColumns = new List<ColumnDetails>(); ColumnDetails mainLayoutColumn1 = new ColumnDetails() { ColumnSpaces = new ColumnSpaces(0, 0, 0, 0), ColumnWidthPercentage = 25, PlaceholderId = "Left" }; mainLayoutColumns.Add(mainLayoutColumn1); ColumnDetails mainLayoutColumn2 = new ColumnDetails() { ColumnSpaces = new ColumnSpaces(0, 0, 0, 12), ColumnWidthPercentage = 75, PlaceholderId = "Right" }; mainLayoutColumns.Add(mainLayoutColumn2); mainLayoutControlDE.Layout = SampleUtilities.GenerateLayoutTemplate(mainLayoutColumns, string.Empty); mainLayoutControlDE.ID = "Main"; SampleUtilities.AddControlToLocalizedPage(new Guid(SampleConstants.TIUBlogPageId), mainLayoutControlDE, "content", "25% + 75%", "de"); var navigationControl = new NavigationControl(); navigationControl.NavigationMode = NavigationModes.VerticalSimple; navigationControl.SelectionMode = PageSelectionModes.CurrentPageSiblings; navigationControl.Skin = "left"; SampleUtilities.AddControlToLocalizedPage(new Guid(SampleConstants.TIUBlogPageId), navigationControl, "Main_Left", "Navigation", "de"); var blogsControl = new BlogPostView(); SampleUtilities.AddControlToLocalizedPage(new Guid(SampleConstants.TIUBlogPageId), blogsControl, "Main_Right", "Blog posts", "de"); } }