コード例 #1
0
        private void RefuseFriendButton_Click(object sender, EventArgs e)
        {
            PendingFriendRequest friendRequest = (PendingFriendRequest)((Button)sender).DataContext;

            PendingFriendRequestDao.Refuse(friendRequest.id);
            PendingFriendRequestsList.Remove(friendRequest);
        }
コード例 #2
0
        private void AcceptFriendButton_Click(object sender, EventArgs e)
        {
            PendingFriendRequest friendRequest = (PendingFriendRequest)((Button)sender).DataContext;

            PendingFriendRequestDao.Accept(friendRequest.id);
            PendingFriendRequestsList.Remove(friendRequest);
            FriendDao.Get();
            FriendDao.GetUsersExceptFriends();
        }
        async Task ApproveFriendRequest(PendingFriendRequest pendingFriendRequest)
        {
            if (IsBusy)
            {
                return;
            }

            if (!(await CheckConnectivity("Check connectivity", "Unable to update profile, please check internet and try again")))
            {
                return;
            }

            if (!await DisplayAlert("Approve friend request?", $"Are you sure you want to approve {pendingFriendRequest.Name}'s request?", "Yes, approve", "Cancel"))
            {
                return;
            }

            Analytics.TrackEvent("FriendRequest", new Dictionary <string, string>
            {
                ["type"] = "approve"
            });

            IsBusy = true;
            try
            {
                await DataService.ApproveFriendRequestAsync(pendingFriendRequest.RequesterPublicKey);

                FriendRequests.Remove(pendingFriendRequest);
                DataService.ClearCache(DataService.FriendRequestKey);
                forceRefresh = true;

                SettingsService.FriendRequestCount  = FriendRequests.Count == 0 ? string.Empty : FriendRequests.Count.ToString();
                SettingsService.ForceRefreshFriends = true;
            }
            catch (HttpResponseException hrex) when(!string.IsNullOrWhiteSpace(hrex.Message))
            {
                await DisplayAlert("Uh oh, turbulence", hrex.Message);
            }
            catch (Exception ex)
            {
                await DisplayAlert("Uh oh, turbulence", "Looks like something went wrong. Check internet and try again.");

                Crashes.TrackError(ex);
            }
            finally
            {
                IsBusy = false;
            }

            OnPropertyChanged(nameof(ShowNoFriends));
        }
コード例 #4
0
 public void LoadPendingFriendRequests(IRestResponse response)
 {
     if (response.StatusCode == HttpStatusCode.OK)
     {
         PendingFriendRequestsList.Clear();
         JArray responseRequests = JArray.Parse(response.Content);
         for (int i = 0; i < responseRequests.Count; i++)
         {
             dynamic data = JObject.Parse(responseRequests[i].ToString());
             PendingFriendRequest friendRequest = new PendingFriendRequest
             {
                 notified     = data["notified"],
                 id           = data["id"],
                 userName     = data["userName"],
                 profileImage = data["profileImage"],
             };
             PendingFriendRequestsList.Add(friendRequest);
         }
         PendingFriendRequestsContainer.ItemsSource = PendingFriendRequestsList;
     }
 }