예제 #1
0
        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()));
        }
예제 #2
0
        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());
        }