public async Task <IActionResult> GetMessage(int userId, int id) { if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var messageFromRepo = await _repo.GetMessage(id); if (messageFromRepo == null) { return(NotFound()); } return(Ok(messageFromRepo)); }
public async Task <ActionResult <Users> > DeleteUser(int id) { var currentUserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); if (currentUserId == id) { var user = await _repo.GetUser(id); if (user == null) { return(NotFound("No user found for this Id")); } var messageFromRepo = await _repo.GetMessage(id); if (messageFromRepo != null) { if (messageFromRepo.SenderId == id) { messageFromRepo.SenderDeleted = true; } if (messageFromRepo.RecipientId == id) { messageFromRepo.RecipientDeleted = true; } if (messageFromRepo.SenderDeleted && messageFromRepo.RecipientDeleted) { _repo.Delete(messageFromRepo); } await _repo.SaveAll(); } var likesFrom = await _repo.GetLike(currentUserId); if (likesFrom != null) { if (likesFrom.LikeeId == currentUserId || likesFrom.LikerId == currentUserId) { _repo.Delete <Like>(likesFrom); } await _repo.SaveAll(); } //user.Likees = null; //user.Likers = null; _repo.Delete <Users>(user); await _repo.SaveAll(); return(NoContent()); } return(BadRequest("Problem to delete User")); }
public async Task <IActionResult> GetMessage(int userid, int messageid) { try { if (userid != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var message = await _datingrepo.GetMessage(messageid); if (message == null) { return(NotFound()); } return(Ok(message)); } catch (Exception ex) { throw new Exception("Error while fetching message"); } }