public async Task <string> RequestAddContact(RequestAddFriendContract contract) { var friendRequest = new FriendsRequest(contract.ReceiverId, contract.RequesterId); await _context.Set <FriendsRequest>().AddAsync(friendRequest); await _context.SaveChangesAsync(); return("Successful"); }
public void rejectRequest() // reject a friend request { if (isMe) { // @TODO reject the friend request & remove from friend list on server @STEPHEN // @TODO Let me know if server didn't work as expected @STEPHEN // bool myRejectFailed = false; // if(myRejectFailed){ // server request failed // StartCoroutine(showError("Could not reject request, please try again")); // set error message // } // else{ FriendsRequest req = new FriendsRequest(Global.getEmail(), userRequestButton.GetComponentInChildren <Text>().text, Global.getToken(), "rejectFriendRequest"); string json = JsonConvert.SerializeObject(req); Byte[] data = System.Text.Encoding.ASCII.GetBytes(json); Global.stream.Write(data, 0, data.Length); data = new Byte[1024]; string responseData = string.Empty; Int32 bytes = Global.stream.Read(data, 0, data.Length); responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes); handleRequestPanel.SetActive(false); // hide handle request panel UI StartCoroutine(showError("Friend Request Rejected")); // set message loadRequestsList(); // to update the requests list //} } else { // @TODO reject the friend request on server @STEPHEN // @TODO Let me know if server didn't work as expected @STEPHEN // bool userRejectFailed = false; // if(userRejectFailed){ // server request failed // StartCoroutine(showError("Could not reject request, please try again")); // set error message // } // else{ FriendsRequest req = new FriendsRequest(Global.getEmail(), email, Global.getToken(), "rejectFriendRequest"); string json = JsonConvert.SerializeObject(req); Byte[] data = System.Text.Encoding.ASCII.GetBytes(json); Global.stream.Write(data, 0, data.Length); data = new Byte[1024]; string responseData = string.Empty; Int32 bytes = Global.stream.Read(data, 0, data.Length); responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes); handleRequestPanel.SetActive(false); // hide handle request panel UI StartCoroutine(showError("Friend Request Rejected")); // set message AddButton.GetComponentInChildren <Text>().text = "Add Friend"; // set button text AddButton.GetComponentInChildren <Button>().interactable = true; alreadyFriend = false; // now the user is not a friend, set to false alreadyReceivedRequest = false; // just to be sure alreadySentRequest = false; // just to be sure //} } }
public async Task <ActionResult <FriendsRequest> > PostFriendsRequest(FriendsRequest friendsRequest) { var requests = await _context.FriendsRequest.ToListAsync(); var friends = await _context.Friends.ToListAsync(); bool alreadyExisting = false; // check if there is an existing request requests.ForEach(r => { if (r.UserID1 == friendsRequest.UserID1 && r.UserID2 == friendsRequest.UserID2) { alreadyExisting = true; } if (r.UserID1 == friendsRequest.UserID2 && r.UserID2 == friendsRequest.UserID1) { alreadyExisting = true; } }); // check if they are friends friends.ForEach(f => { if (f.UserID1 == friendsRequest.UserID1 && f.UserID2 == friendsRequest.UserID2) { alreadyExisting = true; } if (f.UserID1 == friendsRequest.UserID2 && f.UserID2 == friendsRequest.UserID1) { alreadyExisting = true; } }); if (alreadyExisting == true) { return(BadRequest()); } _context.FriendsRequest.Add(friendsRequest); await _context.SaveChangesAsync(); return(CreatedAtAction("GetFriendsRequest", new { id = friendsRequest.RequestID }, friendsRequest)); }
public void handleAddFriend() // friend/unfriend/handleRequest button { if (alreadyFriend) // unfriend user // @TODO Unfriend user through server @STEPHEN { FriendsRequest req = new FriendsRequest(Global.getEmail(), email, Global.getToken(), "removeFriend"); string json = JsonConvert.SerializeObject(req); Byte[] data = System.Text.Encoding.ASCII.GetBytes(json); Global.stream.Write(data, 0, data.Length); data = new Byte[1024]; string responseData = string.Empty; Int32 bytes = Global.stream.Read(data, 0, data.Length); responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes); // @TODO Let me know if server didn't work as expected @STEPHEN bool unFriendFailed = false; if (unFriendFailed) { StartCoroutine(showError("Could not unfriend user, please try again")); // set error message } else { AddButton.GetComponentInChildren <Text>().text = "Add Friend"; // set button text AddButton.GetComponentInChildren <Button>().interactable = true; alreadyFriend = false; // since we unfriended the user, set alreadyFriend to false alreadySentRequest = false; // just to make sure alreadyReceivedRequest = false; // just to make sure } } else // user is not a friend { if (alreadyReceivedRequest) // The user has sent me a friend request { handleRequestPanel.SetActive(true); // unhide handle request panel userRequestButton.SetActive(false); // hide username button } else // sent a friend reqiest to the user // @TODO Add user as friend through server @STEPHEN { FriendsRequest req = new FriendsRequest(Global.getEmail(), email, Global.getToken(), "sendFriendRequest"); string json = JsonConvert.SerializeObject(req); Byte[] data = System.Text.Encoding.ASCII.GetBytes(json); Global.stream.Write(data, 0, data.Length); data = new Byte[1024]; string responseData = string.Empty; Int32 bytes = Global.stream.Read(data, 0, data.Length); responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes); // @TODO Let me know if server didn't work as expected @STEPHEN bool friendFailed = false; if (friendFailed) { StartCoroutine(showError("Could not add user as friend, please try again")); // set error message } else { AddButton.GetComponentInChildren <Text>().text = "Request Sent"; // set button text AddButton.GetComponentInChildren <Button>().interactable = false; alreadyFriend = false; // since we added user as friend, set alreadyFriend to true alreadySentRequest = true; // just to be sure alreadyReceivedRequest = false; // just to be sure } } } }