public async Task <IActionResult> CreateMessage(int userId, MessageForCreateDTO messageForCreateDTO) { if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } messageForCreateDTO.SenderId = userId; var recipient = await _repository.GetUser(messageForCreateDTO.RecipientId); if (recipient == null) { return(BadRequest("User not found!")); } var message = _mapper.Map <Message>(messageForCreateDTO); _repository.Add(message); if (await _repository.SaveChanges()) { var messageDTO = _mapper.Map <MessageForCreateDTO>(message); return(Ok(messageDTO)); } throw new System.Exception("Message could not be sent"); }
public async Task <IActionResult> LikeUser(int id, int recipientId) { if (id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var like = await _repo.GetLike(id, recipientId); if (like != null) { return(BadRequest("You already like this user")); } if (await _repo.GetUser(recipientId) == null) { return(NotFound()); } like = new Like { LikerId = id, LikeeId = recipientId }; _repo.Add <Like>(like); if (await _repo.SaveAll()) { return(Ok()); } return(BadRequest("Failed to like user")); }
public async Task <IActionResult> CreateMessage(int userId, MessageForCreatingDto messageForCreatingDto) { var sender = await _repo.GetUser(userId); if (sender.Id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } messageForCreatingDto.SenderId = userId; var recipient = await _repo.GetUser(messageForCreatingDto.RecipientId); if (recipient == null) { return(BadRequest("Could not find the user")); } var message = _mapper.Map <Message>(messageForCreatingDto); _repo.Add(message); if (await _repo.SaveAll()) { var messageToReturnDto = _mapper.Map <MessageToReturnDto>(message); return(CreatedAtRoute("GetMessage", new { userId, id = message.Id }, messageToReturnDto)); } throw new Exception("Creating the message failed on save"); }
public async Task <IActionResult> CreateMessage(int userId, MessageForCreationDto messageForCreationDto) { var sender = await _repo.GetUser(userId); if (sender.Id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } messageForCreationDto.SenderId = userId; var recipient = await _repo.GetUser(messageForCreationDto.RecipientId); if (recipient == null) { return(BadRequest("could not find user")); } var message = _mapper.Map <Message>(messageForCreationDto); _repo.Add(message); if (await _repo.SaveAll()) { var messageToReturn = _mapper.Map <MessageToReturnDto>(message); //Get the location of the message we just created using created atroute //object inside is the OBJECT ROUTE value return(CreatedAtRoute("GetMessage", new { userId, id = message.Id }, messageToReturn)); } throw new Exception("CReating the message failed on save"); }
public async Task <IActionResult> FollowUser(int followerUserId, int userId) { if (followerUserId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } if (followerUserId == userId) { return(BadRequest()); } var IsAlreadyFollowed = await _repository.IsAlreadyFollow(followerUserId, userId); if (IsAlreadyFollowed) { return(BadRequest("Already following!")); } if (await _repository.GetUser(userId) == null) { return(NotFound()); } var follow = new UserToUser() { UserId = userId, FollowerId = followerUserId }; _repository.Add <UserToUser>(follow); if (await _repository.SaveChanges()) { return(Ok()); } return(BadRequest()); }
public async Task <IActionResult> FollowUser(int followerUserId, int userId) { if (followerUserId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } if (followerUserId == userId) { return(BadRequest("Kendizi takip edemezsiniz")); } var IsAlreadyFollowed = await _repository .IsAlreadyFollowed(followerUserId, userId); if (IsAlreadyFollowed) { return(BadRequest("Zaten kullanıcıyı takip ediyorsunuz")); } if (await _repository.GetUser(userId) == null) { return(NotFound()); } var follow = new UserToUser() { UserId = userId, FollowerId = followerUserId }; _repository.Add <UserToUser>(follow); if (await _repository.SaveChanges()) { return(Ok()); } return(BadRequest("Hata Oluştu")); }