示例#1
0
        public void Authorised_Request_Test()
        {
            //Assign
            IRequest       baseRequest = new HttpRequest("http://test.com/", "command");
            IRequest       target;
            HttpWebRequest actual;

            //Act
            target = new AuthorisedRequest(baseRequest, "username", "apiToken");
            actual = target.Build();

            //Assert
            Assert.IsTrue(actual.Headers.AllKeys.Contains("Authorization"));
        }
示例#2
0
        public Task <bool> EditContactInfoAsync(long teamMemberId, IEnumerable <TeamMemberContactInfo> editedContactInfos, CancellationTokenSource cancellationTokenSource) =>
        Task <bool> .Run(async() => {
            if (!CrossConnectivity.Current.IsConnected)
            {
                throw new InvalidOperationException(AppConsts.ERROR_INTERNET_CONNECTION);
            }

            bool completion = false;

            AuthorisedRequest addTeamMemberContactInfoRequest = new AuthorisedRequest {
                AccessToken = GlobalSettings.Instance.UserProfile.AccesToken,
                Url         = string.Format(GlobalSettings.Instance.Endpoints.TeamMemberEndPoints.EditContactInfoEndpoint, teamMemberId),
                Data        = editedContactInfos
            };

            CommonResponse editTeamMemberContactInfoResponse = null;

            try {
                editTeamMemberContactInfoResponse = await _requestProvider.PatchAsync <AuthorisedRequest, CommonResponse>(addTeamMemberContactInfoRequest);

                if (editTeamMemberContactInfoResponse != null)
                {
                    completion = true;
                }
                else
                {
                    completion = false;
                    throw new InvalidOperationException(CANT_EDIT_CONTACT_INFO_COMMON_WARNING);
                }
            }
            catch (ServiceAuthenticationException exc) {
                _identityUtilService.RefreshToken();

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

                throw;
            }

            return(completion);
        }, cancellationTokenSource.Token);
示例#3
0
        public async Task <TeamMember> GetTeamMemberByMemberIdAsync(long profileId, CancellationToken cancellationToken = default(CancellationToken)) =>
        await Task.Run(async() => {
            if (!CrossConnectivity.Current.IsConnected)
            {
                throw new InvalidOperationException(AppConsts.ERROR_INTERNET_CONNECTION);
            }

            TeamMember teamMember = null;

            AuthorisedRequest getTeamMembersByMemberIdRequest = new AuthorisedRequest {
                AccessToken = GlobalSettings.Instance.UserProfile.AccesToken,
                Url         = string.Format(GlobalSettings.Instance.Endpoints.TeamMemberEndPoints.GetTeamMembersByMemberIdEndPoint, profileId)
            };

            GetTeamMembersResponse getTeamMembersByMemberIdResponse = null;

            try {
                getTeamMembersByMemberIdResponse = await _requestProvider.GetAsync <AuthorisedRequest, GetTeamMembersResponse>(getTeamMembersByMemberIdRequest);

                if (getTeamMembersByMemberIdResponse != null)
                {
                    teamMember = getTeamMembersByMemberIdResponse.TeamMembers.FirstOrDefault <TeamMember>(foundTeamMember => foundTeamMember.Member.Id == profileId);
                }
                else
                {
                    throw new InvalidOperationException(CANT_GET_TEAM_MEMBERS_ERROR_MESSAGE);
                }
            }
            catch (ServiceAuthenticationException exc) {
                _identityUtilService.RefreshToken();

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

                throw;
            }

            return(teamMember);
        }, cancellationToken);