public IActionResult PostBlog([FromBody] CreateBlogPost blogPost) { try { if (!ModelState.IsValid) { return(BadRequest("Some of the properties are not valid")); } string slug = blogPost.Title.Replace(' ', '-').ToLower(); var blog = _repositoryBlogPost.GetBySlug(slug); if (blog != null) { return(BadRequest("Blog with that slug already exists")); } blog = _repositoryBlogPost.Insert(blogPost, slug); return(Ok(_repositoryBlogPost.GetBySlug(blog.Slug))); } catch (Exception ex) { _logger.LogError(ex.Message, ex); return(StatusCode(500)); } }
/// <inheritdoc /> public BlogPost Create(CreateBlogPost newBlogPostData) { var newBlogPost = new BlogPost() { Id = ++_blogPostId, Title = newBlogPostData.Title, Text = newBlogPostData.Text, }; _blogPosts.Add(newBlogPost); return(newBlogPost); }
public ActionResult <BlogPost> Create([FromBody] CreateBlogPost createBlogPost) { var newBlogPost = new DTO.CreateBlogPost() { Title = createBlogPost.Title, Text = createBlogPost.Text, }; var createdBlogPost = _blogPostsDataService.Create(newBlogPost); // return createdBlogPost; return(null); }
public IActionResult Post([FromBody] CreateBlogPost createBlogPost) { try { return(Ok(BlogPostServiceManagement.CreateBlogPost(createBlogPost))); } catch (ArgumentNullException) { return(BadRequest()); } catch (DuplicateNameException) { return(BadRequest()); } }
public BlogPost Insert(CreateBlogPost entity, string slug) { using (var cn = new SqlConnection(_connectionString)) { cn.Execute(@"INSERT INTO BlogPosts VALUES (@title, @description, @body, GETDATE(), null, @slug)", new { entity.Title, entity.Description, entity.Body, slug }); var blog = cn.QueryFirstOrDefault <BlogPost>(@"SELECT * FROM BlogPosts WHERE Slug = @slug", new { slug }); foreach (var tag in entity.TagList) { var tagName = cn.QueryFirstOrDefault <Tag>(@"SELECT * FROM Tags WHERE TagName = @tag", new { tag }); if (tagName == null) { cn.Execute(@"INSERT INTO Tags VALUES (@tag)", new { tag }); tagName = cn.QueryFirstOrDefault <Tag>(@"SELECT * FROM Tags WHERE TagName = @tag", new { tag }); } cn.Execute(@"INSERT INTO BlogPostsTags VALUES(@tagId, @blogId)", new { tagId = tagName.Id, blogId = blog.Id }); } return(blog); } }
public BlogPostDto CreateBlogPost(CreateBlogPost createBlogPost) { if (createBlogPost.Title == null) { throw new ArgumentNullException(); } BlogPost blogPost = new BlogPost(); SlugHelper slugHelper = new SlugHelper(); string Slug = slugHelper.GenerateSlug(createBlogPost.Title); ValidateBlogPost(Slug); blogPost.Title = createBlogPost.Title; blogPost.Slug = Slug; blogPost.Description = createBlogPost.Description; blogPost.Body = createBlogPost.Body; blogPost.CreatedAt = DateTime.Now; blogPost.UpdatedAt = DateTime.Now; BlogDBContext.BlogPosts.Add(blogPost); BlogDBContext.SaveChanges(); BlogPostDto blogPostDto = new BlogPostDto { Slug = blogPost.Slug, Title = blogPost.Title, Description = blogPost.Description, Body = blogPost.Body }; blogPostDto.CreatedAt = blogPost.CreatedAt; blogPostDto.UpdatedAt = blogPost.UpdatedAt; return(blogPostDto); }