Ejemplo n.º 1
0
        public HttpResponseMessage SubmitPost(HttpRequestMessage request, [FromBody] BlogPost blogPost)
        {
            HttpResponseMessage response = null;

            try
            {
                blogPost.Timestamp = DateTime.Now;

                PreSubmissionPostingEventArgs preArgs = new PreSubmissionPostingEventArgs(blogPost);

                _ExtensibilityManager.InvokeCancelableModuleEvent <PreSubmissionPostingEventArgs>(
                    _ModuleEvents.PreSubmissionPosting, preArgs);

                if (!preArgs.Cancel)
                {
                    IBlogPostRepository blogPostRepository = new BlogPostRepository("easyBlog");

                    blogPost = blogPostRepository.Add(blogPost);

                    PostSubmissionPostingEventArgs postArgs = new PostSubmissionPostingEventArgs(blogPost);

                    _ExtensibilityManager.InvokeModuleEvent <PostSubmissionPostingEventArgs>(
                        _ModuleEvents.PostSubmissionPosting, postArgs);

                    response = request.CreateResponse <BlogPost>(HttpStatusCode.OK, blogPost);
                }
            }
            catch (Exception ex)
            {
                response = request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex);
            }

            return(response);
        }
Ejemplo n.º 2
0
        public IActionResult CreateBlogPost(CreateBlogPostViewModel model)
        {
            if (ModelState.IsValid)
            {
                var blogPost = _mapper.Map <BlogPost>(model);

                _blogPostRepository.Add(blogPost);

                foreach (var tag in model.ContentTags)
                {
                    var contentTag = _contentTagRepository.GetByName(tag);
                    var blogtag    = new BlogPostContentTag
                    {
                        BlogPost     = blogPost,
                        ContentTag   = contentTag,
                        BlogPostId   = blogPost.Id,
                        ContentTagId = contentTag.Id
                    };

                    blogPost.BlogPostsContentTags.Add(blogtag);
                }

                _blogPostRepository.Update(blogPost);

                return(RedirectToAction("blogposts"));
            }
            return(View(model));
        }
Ejemplo n.º 3
0
        public OperationStatus AddPost(PostViewModel model)
        {
            var operationStatus = new OperationStatus();

            try
            {
                var blogPost = new BlogPost
                {
                    Title       = model.Title,
                    Details     = model.Details,
                    DateCreated = DateTime.Now,
                    CategoryId  = model.Category
                };

                _blogRepository.Add(blogPost);



                operationStatus.Status = true;
            }
            catch (Exception ex)
            {
                operationStatus.Status  = false;
                operationStatus.Message = "Sorry was not able to create your post, try again later";
                throw;
            }

            return(operationStatus);
        }
        public BlogPost AddPost(BlogPost post)
        {
            post.DateCreated = DateTime.Now;
            var repo = new BlogPostRepository(_connectionString);

            repo.Add(post);
            return(post);
        }
Ejemplo n.º 5
0
        public void Add_ValidBlogPost_Returns()
        {
            var stubDataAccessAdapter = new StubIBlogPostDataAccessAdapter();
            var stubValidator         = new StubIBlogPostValidator();
            var repository            = new BlogPostRepository(stubDataAccessAdapter, stubValidator);
            var param_blogPost        = new BlogPostFactory().Create();

            repository.Add(param_blogPost);
        }
Ejemplo n.º 6
0
        public void Add_ValidBlogPost_VerifyDataAccessAdapter()
        {
            var mockDataAccessAdapter = new MockIBlogPostDataAccessAdapter();
            var stubValidator         = new StubIBlogPostValidator();
            var repository            = new BlogPostRepository(mockDataAccessAdapter, stubValidator);
            var param_blogPost        = new BlogPostFactory().Create();

            repository.Add(param_blogPost);

            mockDataAccessAdapter.VerifyAdd(param_blogPost);
        }
Ejemplo n.º 7
0
        public void TestTablePerType()
        {
            var context          = new ContentDbContext();
            var blogRepository   = new BlogPostRepository(context);
            var reviewRepository = new ProductReviewRepository(context);

            context.Database.OpenConnection();
            context.Database.Migrate();

            List <BlogPost>      blogPosts      = new List <BlogPost>();
            List <ProductReview> productReviews = new List <ProductReview>();

            for (int i = 0; i < 100; i++)
            {
                var post = new BlogPost()
                {
                    Id        = Guid.NewGuid(),
                    Timestamp = DateTime.Now,
                    Author    = "Author" + i,
                    Title     = "Title" + i,
                    Content   = "Content" + i
                };
                blogPosts.Add(post);
                blogRepository.Add(post);

                var review = new ProductReview()
                {
                    Id        = Guid.NewGuid(),
                    Timestamp = DateTime.Now,
                    Author    = "Author" + i,
                    Rating    = i,
                    Review    = "Review" + i
                };
                productReviews.Add(review);
                reviewRepository.Add(review);
            }

            context.SaveChanges();

            var reviewResult = reviewRepository.Reviews.Where(r => r.Rating >= 90).OrderBy(r => r.Rating).ToList();

            Assert.Equal(10, reviewResult.Count);
            for (int i = 0; i < reviewResult.Count; i++)
            {
                Assert.Equal(productReviews[90 + i], reviewResult[i]);
            }
        }
        public void Add_ShouldAddPost()
        {
            var post = new BlogPost {
                Title = "Hello, xUnit"
            };

            _blogPostRepository.Add(post);

            _inMemoryContext.ChangeTracker.Entries <BlogPost>().Should().HaveCount(1,
                                                                                   "only one post was added");

            var entry = _inMemoryContext.ChangeTracker.Entries <BlogPost>().First();

            entry.State.Should().Be(EntityState.Added,
                                    "we haven't commited the changes yet");

            entry.Entity.Should().BeEquivalentTo(post,
                                                 "it was what was added");
        }