Exemple #1
0
        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");
        }
Exemple #2
0
    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
            //}
        }
    }
Exemple #3
0
        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));
        }
Exemple #4
0
    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
                }
            }
        }
    }