public async Task <IActionResult> GetUser(int id) { var user = await _repo.GetUser(id); var userToReturn = _mapper.Map <UserForDetailedDto>(user); return(Ok(userToReturn)); }
public async Task <IActionResult> CreateMessage(int userId, MessageForCreationDto messageForCreationDto) { if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } messageForCreationDto.SenderId = userId; var recipient = await _repo.GetUser(messageForCreationDto.RecipientId); if (recipient == null) { return(BadRequest("Não foi possível encontrar o usuário!")); } var message = _mapper.Map <Messages>(messageForCreationDto); _repo.Add(message); var messageToReturn = _mapper.Map <MessageForCreationDto>(message); if (await _repo.SaveAll()) { return(CreatedAtRoute("GetMessage", new { id = message.Id }, messageToReturn)); } throw new System.Exception("Falha ao salvar a mensagem"); }