示例#1
0
        public async Task <ActionResult <BlogPostDTO> > CreateBlogPost(BlogPostDTO blogPostDTO)
        {
            int newBlogPostId = await _blogPostRepository.CreateBlogPost(blogPostDTO);

            var newBlogPost = await _blogPostRepository.GetBlogPostByIdAsync(newBlogPostId);

            return(_mapper.Map <BlogPostDTO>(newBlogPost));
        }
        public ActionResult Create(BlogPost blogpost)
        {
            if (ModelState.IsValid)
            {
                _repository.CreateBlogPost(blogpost);
                return(RedirectToAction("Index"));
            }

            return(View(blogpost));
        }
        public SingleBlogPostDTO CreateBlogPost(BlogPostCreateBindingModel blogPostModel)
        {
            BlogPost blogPost = new BlogPost();
            //List<string> tags = new List<string>();
            List <Tag> tags = new List <Tag>();

            blogPost.Title       = blogPostModel.Title;
            blogPost.Description = blogPostModel.Description;
            blogPost.Body        = blogPostModel.Body;
            blogPost.CreatedAt   = DateTime.Now;

            string slug = SlugifyManager.Slugify(blogPostModel.Title);

            blogPost.Slug = slug;

            if (_blogPostRepository.SlugExist(slug))
            {
                List <string> existingSlugs = _blogPostRepository.Slugs();
                blogPost.Slug = SlugifyManager.IncrementSlug(slug, existingSlugs);
            }

            blogPost.Tags = tags;

            if (blogPostModel.TagList != null)
            {
                foreach (var singleTag in blogPostModel.TagList)
                {
                    Tag tag = new Tag();
                    tag = _tagRepository.GetTagByTitle(singleTag);
                    //tags.Add(tag);
                    //blogPost.Tags = tags;
                    blogPost.Tags.Add(tag);
                }
            }
            var createdBlogPost = _blogPostRepository.CreateBlogPost(blogPost);
            SingleBlogPostDTO singleBlogPostDTO = new SingleBlogPostDTO();

            singleBlogPostDTO = GetBlogPostBySlug(createdBlogPost.Slug);

            return(singleBlogPostDTO);
        }
示例#4
0
 // POST /api/values
 public HttpResponseMessage Post(BlogPost newPost)
 {
     _repository.CreateBlogPost(newPost);
     return(new HttpResponseMessage(System.Net.HttpStatusCode.Created));
 }