示例#1
0
        // GET: BlogPost


        // GET: BlogPost/Details/5
        public ActionResult Details(int id)
        {
            var ops  = OperationsFactory.CreateBlogPostOps();
            var blog = ops.GetBlogPostById(id);

            return(View(blog));
        }
        public ActionResult Index(DraftPostVM model)
        {
            var blogPost = new BlogPost();

            blogPost             = model.NewPost;
            blogPost.PostContent = model.HtmlContent;
            if (model.NewPost.Status == null)
            {
                blogPost.Status = new Status()
                {
                    StatusID = 1
                };
            }
            else
            {
                blogPost.Status.StatusID = model.NewPost.Status.StatusID;
            }
            var ops         = OperationsFactory.CreateBlogPostOps();
            var categoryOps = OperationsFactory.CreateCategoryOps();

            ops.SaveBlogPost(blogPost);
            categoryOps.SaveBlogPostCategory(model.SelectedCategoryIds, blogPost);


            return(RedirectToAction("Index", "Home"));
        }
示例#3
0
        public void GetAllBlogPostsDbTest()
        {
            var ops  = OperationsFactory.CreateBlogPostOps();
            var list = ops.GetAllBlogPosts();

            Assert.AreEqual(1, list.Count);
        }
示例#4
0
        public ActionResult Index()
        {
            var model = new List <BlogPost>();
            var ops   = OperationsFactory.CreateBlogPostOps();

            model = ops.GetAllBlogPosts();

            return(View(model));
        }
示例#5
0
        public ActionResult Index()
        {
            var           ops     = OperationsFactory.CreateBlogPostOps();
            BlogPostAllVM postsVM = new BlogPostAllVM()
            {
                BlogPosts = ops.GetAllBlogPosts().FindAll(x => x.Status.StatusID == 2).FindAll(x => x.DateOfPost <= DateTime.Today).OrderByDescending(x => x.DateOfPost).Take(5).ToList(),
            };

            return(View(postsVM));
        }
示例#6
0
        public ActionResult Delete(int id)
        {
            try
            {
                var ops = OperationsFactory.CreateBlogPostOps();
                ops.DeleteBlogPost(id);

                return(RedirectToAction("PendingApproval", "PendingApproval"));
            }
            catch
            {
                return(RedirectToAction("PendingApproval", "PendingApproval"));
            }
        }
示例#7
0
        public ActionResult ShowSinglePost(int id)
        {
            var ops        = OperationsFactory.CreateBlogPostOps();
            var commentOps = OperationsFactory.CreateCommentOps();

            var singlePostVM = new SingleBlogPostVM()
            {
                NewComment = new Comment()
            };

            singlePostVM.SelectedBlogPost = ops.GetBlogPostById(id);
            singlePostVM.Comments         = commentOps.GetAllCommentsByBlogPostID(id).FindAll(x => x.Status.StatusID == 2);
            return(View(singlePostVM));
        }
示例#8
0
        public ActionResult Delete(int id)
        {
            try
            {
                var ops = OperationsFactory.CreateBlogPostOps();
                ops.DeleteBlogPost(id);

                return(RedirectToAction("Index", "ContentManager"));
            }
            catch
            {
                return(RedirectToAction("Index", "ContentManager"));
            }
        }
示例#9
0
        public void SaveBlogPostDbNullDateTest()
        {
            var ops = OperationsFactory.CreateBlogPostOps();

            BlogPost blog = new BlogPost()
            {
                PostContent = "<p>Hello Lovely</p>",
                PostTitle   = "Blog One",
                Status      = new Status()
                {
                    StatusID = 1
                }
            };

            ops.SaveBlogPost(blog);

            var list = ops.GetAllBlogPosts();

            Assert.AreEqual(2, list.Count);
        }
示例#10
0
        public ActionResult PendingApproval()
        {
            var model = new ApprovalVM()
            {
                SelectedBlogPost = new BlogPost()
            };
            var blogPostOps = OperationsFactory.CreateBlogPostOps();
            var statusOps   = OperationsFactory.CreateStatusOps();
            var commentOps  = OperationsFactory.CreateCommentOps();

            model.ListOfPosts          = blogPostOps.GetAllBlogPosts().FindAll(x => x.Status.StatusID == 1);
            model.RejectedPostsList    = blogPostOps.GetAllBlogPosts().FindAll(x => x.Status.StatusID == 3);
            model.DraftedPosts         = blogPostOps.GetAllBlogPosts().FindAll(x => x.Status.StatusID == 5);
            model.ScheduledPosts       = blogPostOps.GetAllBlogPosts().FindAll(x => x.Status.StatusID == 6 || x.DateOfPost > DateTime.Today);
            model.CommentsToBeApproved = commentOps.GetAllComments().FindAll(x => x.Status.StatusID == 1);
            var statusList = statusOps.ListAllStatuses();

            model.GenerateStatusList(statusList);

            return(View(model));
        }
示例#11
0
        public ActionResult ShowAllBlogPost()
        {
            var model = new BlogPostAllVM();

            var categoryOps    = OperationsFactory.CreateCategoryOps();
            var hashtagOps     = OperationsFactory.CreateHashtagOps();
            var categoriesList = categoryOps.ListAllCategories();
            var hashtagsList   = hashtagOps.ListAllHashtags();
            var ops            = OperationsFactory.CreateBlogPostOps();

            model.BlogPosts =
                ops.GetAllBlogPosts()
                .FindAll(x => x.Status.StatusID == 2)
                .FindAll(x => x.DateOfPost <= DateTime.Today)
                .OrderByDescending(x => x.DateOfPost)
                .ToList();
            model.GenerateCategoriesList(categoriesList);
            model.GenerateHashtagsList(hashtagsList);

            return(View(model));
        }
示例#12
0
        public ActionResult ShowAllBlogPost(BlogPostAllVM model)
        {
            var categoryId  = model.SelectedCategoryId;
            var hashtagId   = model.SelectedHashtagId;
            var categoryOps = OperationsFactory.CreateCategoryOps();
            var hashtagOps  = OperationsFactory.CreateHashtagOps();
            var ops         = OperationsFactory.CreateBlogPostOps();

            if (categoryId != 0)
            {
                model.BlogPosts = ops.ListAllBlogsInCategoryByCategoryId(categoryId).FindAll(x => x.Status.StatusID == 2)
                                  .FindAll(x => x.DateOfPost <= DateTime.Today)
                                  .OrderByDescending(x => x.DateOfPost)
                                  .ToList();
                var firstOrDefault = categoryOps.ListAllCategories().FirstOrDefault(x => x.CategoryID == categoryId);
                if (firstOrDefault != null)
                {
                    model.SelectedCategoryName =
                        firstOrDefault.CategoryType;
                }
            }
            else
            {
                model.BlogPosts = ops.ListAllBlogsByHashTag(hashtagId).FindAll(x => x.Status.StatusID == 2)
                                  .FindAll(x => x.DateOfPost <= DateTime.Today)
                                  .OrderByDescending(x => x.DateOfPost)
                                  .ToList();
                var firstOrDefault = hashtagOps.ListAllHashtags().FirstOrDefault(x => x.HashtagID == hashtagId);
                if (firstOrDefault != null)
                {
                    model.SelectedHashtagName =
                        firstOrDefault.HashtagType;
                }
            }

            return(View(model));
        }