示例#1
0
        public async Task <RejectTeamRequestsResponse> RejectTeamRequestsAsync(long requestId, long teamId, CancellationToken cancellationToken) =>
        await Task.Run(async() => {
            if (!CrossConnectivity.Current.IsConnected)
            {
                throw new InvalidOperationException(AppConsts.ERROR_INTERNET_CONNECTION);
            }

            RejectTeamRequestsRequest rejectTeamRequestsRequest = new RejectTeamRequestsRequest {
                AccessToken = GlobalSettings.Instance.UserProfile.AccesToken,
                Url         = string.Format(GlobalSettings.Instance.Endpoints.TeamEndPoints.RejectTeamRequestRndpoint, teamId, requestId)
            };

            RejectTeamRequestsResponse rejectTeamRequestsResponse = null;

            try {
                rejectTeamRequestsResponse =
                    await _requestProvider.DeleteAsync <RejectTeamRequestsRequest, RejectTeamRequestsResponse>(rejectTeamRequestsRequest);
            }
            catch (ServiceAuthenticationException exc) {
                _identityUtilService.RefreshToken();

                throw exc;
            }
            catch (Exception exc) {
                Crashes.TrackError(exc);
                throw;
            }

            return(rejectTeamRequestsResponse);
        });
        private async Task OnDecline(CancellationToken cancellationToken) =>
        await Task.Run(async() => {
            try {
                RejectTeamRequestsResponse rejectTeamRequestsResponse =
                    await _teamService.RejectTeamRequestsAsync(Id, Team.Id, cancellationToken);

                if (rejectTeamRequestsResponse != null)
                {
                    MessagingCenter.Send <object>(this, GlobalSettings.Instance.AppMessagingEvents.TeamEvents.RequestDeclinedForNewTeamMember);
                }
            }
            catch (OperationCanceledException) { }
            catch (ObjectDisposedException) { }
            catch (ServiceAuthenticationException) { }
            catch (Exception exc) {
                Crashes.TrackError(exc);

                Debug.WriteLine($"ERROR:{exc.Message}");
            }
        });