public async Task <ActionResult <PostDTO> > PostReply([FromRoute] int idParent, [FromBody] PostDTO data) { var user = await _context.Users.Where(u => u.Pseudo == User.Identity.Name).SingleOrDefaultAsync(); var post = await _context.Posts.Where(p => p.Id == idParent && p.ParentId == null).SingleOrDefaultAsync(); if (user == null || post == null) { return(BadRequest()); } var newPost = data.ToOBJ(); newPost.UserId = user.Id; newPost.ParentId = idParent; _context.Posts.Add(newPost); var res = await _context.SaveChangesAsyncWithValidation(); if (!res.IsEmpty) { return(BadRequest(res)); } return(CreatedAtAction(nameof(GetQuestionByBody), new { Body = newPost.Body }, newPost.ToDTO())); }
public async Task <IActionResult> PostPost(PostDTO data) { var user = await _context.Users.Where(u => u.Pseudo == User.Identity.Name).SingleOrDefaultAsync(); var newPost = data.ToOBJ(); newPost.UserId = user.Id; _context.Posts.Add(newPost); foreach (var t in data.Tags) { var tag = new PostTag(); tag.TagId = t.Id; newPost.PostTags.Add(tag); } var res = await _context.SaveChangesAsyncWithValidation(); if (!res.IsEmpty) { return(BadRequest(res)); } //return CreatedAtAction(nameof(GetQuestionByBody), new { Body = newPost.Body }, newPost.ToDTO()); return(NoContent()); }