public async Task <IActionResult> AddPost(PostForAddDto postForAddDto) { var userFromRepo = await _repo.GetUser(postForAddDto.UserId); if (userFromRepo == null) { return(Unauthorized()); } if (postForAddDto.UserId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var postToCreate = _mapper.Map <Post>(postForAddDto); postToCreate.User = userFromRepo; postToCreate.Topic = await _repo.GetTopic(postForAddDto.TopicId); _repo.Add(postToCreate); if (await _repo.SaveAll()) { var postToReturn = _mapper.Map <PostForDetailedDto>(postToCreate); return(CreatedAtRoute("GetPost", new { id = postToCreate.Id }, postToReturn)); } throw new Exception("Poszt vagy kérdés mentése nem sikerült"); }
public async Task <IActionResult> AddPost(PostForAddDto postForAddDto) { // var userFromRepo = await _repo.GetUser(userId); var mappedPost = _mapper.Map <Post>(postForAddDto); var response = await _repo.AddPost(mappedPost); if (response == null) { return(BadRequest()); } return(Ok(postForAddDto)); }