Пример #1
0
        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);
            }
        }
Пример #2
0
        public void PublishDraftToPost(BlogPostDraft draft)
        {
            AppDbContext.Drafts.Remove(draft);
            var post = new BlogPostPublished();

            post.PublishDraftToPost(draft);
            AppDbContext.Posts.Add(post);
            AppDbContext.SaveChanges();
        }
Пример #3
0
        public void UnPublishPostToDraft(BlogPostPublished published)
        {
            AppDbContext.Posts.Remove(published);
            var draft = new BlogPostDraft();

            draft.UnPublishToDraft(published);
            AppDbContext.Drafts.Add(draft);
            AppDbContext.SaveChanges();
        }
Пример #4
0
        public bool UpdatePost(BlogPostDraft newData)
        {
            if (base.UpdatePost(newData) == false)
            {
                return(false);
            }

            LastEdit = newData.LastEdit;
            return(true);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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());
        }
Пример #7
0
 public void PublishDraftToPost(BlogPostDraft draft)
 {
     this.BlogPostTemplateId = draft.BlogPostTemplateId;
     base.UpdatePost(draft);
     this.BlogPostTemplateId = 0;
 }
Пример #8
0
 public void DeleteDraft(BlogPostDraft draft)
 {
     AppDbContext.Drafts.Remove(draft);
     AppDbContext.SaveChanges();
 }