public async Task <IActionResult> CreateMessage(int userId, MessageFroCreationDto messageFroCreationDto) { var sender = await _datingRepository.GetUser(userId); if (sender.Id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) // check if id its the same id (from token) with logged user { return(Unauthorized()); } messageFroCreationDto.SenderId = userId; var recipient = await _datingRepository.GetUser(messageFroCreationDto.RecipientId); if (recipient == null) { return(BadRequest("Could not find user")); } var message = _mapper.Map <Message>(messageFroCreationDto); _datingRepository.Add(message); if (await _datingRepository.SaveAll()) { var messageToReturn = _mapper.Map <MessageToReturn>(message); return(CreatedAtRoute("GetMessage", new { id = message.Id }, messageToReturn)); } throw new Exception("Creating message failed on save"); }
public async Task <IActionResult> CreateMessage(int userId, MessageFroCreationDto messageFroCreationDto) { if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } messageFroCreationDto.SenderId = userId; var recipient = await repo.GetUser(messageFroCreationDto.RecipientId); if (recipient == null) { return(BadRequest("could not find user")); } var message = mapper.Map <Message>(messageFroCreationDto); repo.Add(message); var messageToReturn = mapper.Map <MessageFroCreationDto>(message); if (await repo.SaveAll()) { return(CreatedAtRoute("GetMessage", new { id = message.Id }, messageToReturn)); } throw new Exception("Creating Message failed on save"); }
public async Task <IActionResult> CreateMessage(int userId, MessageFroCreationDto messageFroCreationDto) { var sender = await _datingAppDbContext.GetUser(userId); messageFroCreationDto.SenderId = sender.Id; var recipient = await _datingAppDbContext.GetUser(messageFroCreationDto.RecipientId); if (recipient == null) { return(BadRequest("Could not find the user")); } var message = _mapper.Map <MessageFroCreationDto, Message>(messageFroCreationDto); _datingAppDbContext.Add(message); if (await _datingAppDbContext.SaveAll()) { return(CreatedAtRoute("GetMessage", new { messageId = message.Id }, _mapper.Map <Message, MessagesToReturnDto>(message))); } throw new Exception("Creating the message failed on save"); }