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); }
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)); }
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); }
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); }
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); }
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"); }