public bool SaveDraft(BlogPostDraft draft) { if (draft.BlogPostTemplateId == 0) { var count = AppDbContext.Drafts .Count(p => p.UrlTitle.ToLower() == draft.UrlTitle.ToLower()); if (count == 0) { AppDbContext.Drafts.Add(draft); AppDbContext.SaveChanges(); return(true); } else { return(false); } } else { var draftToUpdate = GetDraftById(draft.BlogPostTemplateId); if (draftToUpdate != null) { draftToUpdate.UpdatePost(draft); AppDbContext.SaveChanges(); return(true); } return(false); } }
public void PublishDraftToPost(BlogPostDraft draft) { AppDbContext.Drafts.Remove(draft); var post = new BlogPostPublished(); post.PublishDraftToPost(draft); AppDbContext.Posts.Add(post); AppDbContext.SaveChanges(); }
public void UnPublishPostToDraft(BlogPostPublished published) { AppDbContext.Posts.Remove(published); var draft = new BlogPostDraft(); draft.UnPublishToDraft(published); AppDbContext.Drafts.Add(draft); AppDbContext.SaveChanges(); }
public bool UpdatePost(BlogPostDraft newData) { if (base.UpdatePost(newData) == false) { return(false); } LastEdit = newData.LastEdit; return(true); }
private static BlogPostDraft GenerateProductionDraft() { var draft = new BlogPostDraft { PageTitle = "A Sample Draft", FullContent = "<p>Welcome to BlogNC! This is a sample draft. You can " + "publish this draft if you want, or delete this one and create your own. The sky " + "is the limit (and software limitations, but that's less of a philisophical argument).</p>", Author = "You!", CategoriesDbCollection = "FirstCategory" }; return(draft); }
private static IQueryable <BlogPostDraft> GenerateSampleDrafts() { List <BlogPostDraft> drafts = new List <BlogPostDraft>(); for (int i = 1; i < 10; i++) { BlogPostDraft d = new BlogPostDraft { PageTitle = $"Draft Title No {i}", FullContent = $"Sample Content for post no {i}", Author = "Nick Fisher" }; drafts.Add(d); } return(drafts.AsQueryable()); }
public void PublishDraftToPost(BlogPostDraft draft) { this.BlogPostTemplateId = draft.BlogPostTemplateId; base.UpdatePost(draft); this.BlogPostTemplateId = 0; }
public void DeleteDraft(BlogPostDraft draft) { AppDbContext.Drafts.Remove(draft); AppDbContext.SaveChanges(); }