Example #1
0
        public IActionResult PublishDraftBlogPost(string name, Guid id)
        {
            var blog = BlogRepository.GetBlog(name);

            if (!blog.CanPublishDraftBlogPost(id))
            {
                throw new DomainException($"Cannot publish draft blog post with id {id}");
            }

            blog.PublishDraftBlogPost(id);

            return(Ok());
        }
Example #2
0
        public IActionResult GetPost(string name, Guid id)
        {
            var blog = BlogRepository.GetBlog(name);

            if (!Exists(blog))
            {
                return(NotFound());
            }

            var blogPost = blog.BlogPosts.FirstOrDefault(bp => bp.Id == id);

            return(!Exists(blogPost)
                ? NotFound() as IActionResult
                : Ok(blogPost));
        }
Example #3
0
        public IActionResult CreateDraftBlogPost(string name, [FromBody] CreateBlogPostRequest createBlogPostRequest)
        {
            var blog = BlogRepository.GetBlog(name);

            if (!Exists(blog))
            {
                return(NotFound());
            }

            var draftBlogPost = new DraftBlogPost(Guid.NewGuid(), createBlogPostRequest.Title, createBlogPostRequest.Content, createBlogPostRequest.BloggerId, DateTimeOffset.Now);

            blog.AddDraftBlogPost(draftBlogPost);
            //emit event

            return(Ok());
        }