Пример #1
0
        /// <inheritDoc/>
        public string GetV1PersonSearchUrl(short pageSize, PagingTokens pagingTokens, SearchPeopleParameters parameters)
        {
            var queryValues = CreateQueryStringValues(pageSize, pagingTokens, parameters);

            PopulateQueryStringWithCustomValues(queryValues, parameters.CustomValues);
            return("api/v1/people/search" + queryValues.ToString(true));
        }
Пример #2
0
        public ResultsPage <Contact> GetIndexPage(int personId, short pageSize, PagingTokens pagingTokens,
                                                  CancellationToken cancellationToken = default(CancellationToken))
        {
            var url = UrlProvider.GetV1ContactIndexUrl(personId, pageSize, pagingTokens);

            return(GetJson <ResultsPage <Contact> >(url, cancellationToken).Payload);
        }
        public ResultsPage <AbbreviatedPerson> GetIndexPage(short pageSize, PagingTokens pagingTokens,
                                                            CancellationToken cancellationToken = default(CancellationToken))
        {
            var url = UrlProvider.GetV1PersonIndexUrl(pageSize, pagingTokens);

            return(GetJson <ResultsPage <AbbreviatedPerson> >(url, cancellationToken).Payload);
        }
        public ResultsPage <AbbreviatedPerson> GetSearchPage(short pageSize, PagingTokens pagingTokens,
                                                             SearchPeopleParameters parameters, CancellationToken cancellationToken = default(CancellationToken))
        {
            var url = UrlProvider.GetV1PersonSearchUrl(pageSize, pagingTokens, parameters);

            return(GetJson <ResultsPage <AbbreviatedPerson> >(url, cancellationToken).Payload);
        }
        public ResultsPage <Person> GetNearbyPage(short pageSize, PagingTokens pagingTokens,
                                                  GetNearbyPeopleParameters parameters, CancellationToken cancellationToken = default(CancellationToken))
        {
            Ensure.IsValidPageSize(pageSize);

            var url = UrlProvider.GetV1PersonNearbyUrl(pageSize, pagingTokens, parameters);

            return(GetJson <ResultsPage <Person> >(url, cancellationToken).Payload);
        }
 /// <summary>
 ///     Adds paging tokens to the collection
 /// </summary>
 /// <param name="pagingTokens">The paging tokens</param>
 /// <returns>The updated collection</returns>
 public QueryStringValues AddPagingTokens(PagingTokens pagingTokens)
 {
     if (pagingTokens == null)
     {
         return(this);
     }
     Add("__nonce", pagingTokens.Nonce);
     Add("__token", pagingTokens.Token);
     return(this);
 }
Пример #7
0
        private static QueryStringValues CreateQueryStringValues(short?pageSize            = null,
                                                                 PagingTokens pagingTokens = null, object parameters = null)
        {
            var queryValues = new QueryStringValues()
                              .Add("limit", pageSize?.ToString())
                              .AddPagingTokens(pagingTokens);

            PopulateQueryStringWithParameters(queryValues, parameters);

            return(queryValues);
        }
Пример #8
0
        private bool HandleResults(ResultsPage <TItem> result, CancellationToken cancellationToken)
        {
            if (result.Results == null || !result.Results.Any())
            {
                return(false);
            }

            cancellationToken.ThrowIfCancellationRequested();

            _pageNumber++;

            var recordNumberStart = (_pageNumber - 1) * _pageSize + 1;
            var recordNumberEnd   = recordNumberStart + result.Results.Count - 1;

            result.SetInformationKnownByClient(_pageNumber, recordNumberStart, recordNumberEnd);

            _nextPageTokens = result.GetNextPagingTokens();

            _current = result;

            return(true);
        }
        /// <summary>
        /// Gets a page of people in the list asyncronously
        /// </summary>
        /// <param name="listId">The list id</param>
        /// <param name="pageSize">The size of the pages of results to return from the server</param>
        /// <param name="pagingTokens">The paging tokens to use</param>
        /// <param name="cancellationToken">Token allowing the request to be cancelled</param>
        /// <returns>A page of people in the list asyncronously</returns>
        public async Task <ResultsPage <AbbreviatedPerson> > GetPeoplePageAsync(int listId,
                                                                                short pageSize, PagingTokens pagingTokens, CancellationToken cancellationToken = default(CancellationToken))
        {
            var url = UrlProvider.GetV1ListPeopleIndexUrl(listId, pageSize, pagingTokens);

            return((await GetJsonAsync <ResultsPage <AbbreviatedPerson> >(url, cancellationToken)).Payload);
        }
        public async Task <ResultsPage <ContactType> > GetIndexPageAsync(short pageSize, PagingTokens pagingTokens,
                                                                         CancellationToken cancellationToken = default(CancellationToken))
        {
            var url = UrlProvider.GetV1ContactTypeIndexUrl(pageSize, pagingTokens);

            return((await GetJsonAsync <ResultsPage <ContactType> >(url, cancellationToken)).Payload);
        }
Пример #11
0
        /// <inheritDoc/>
        public string GetV1PersonNearbyUrl(short pageSize, PagingTokens pagingTokens, GetNearbyPeopleParameters parameters)
        {
            var queryValues = CreateQueryStringValues(pageSize, pagingTokens, parameters);

            return("api/v1/people/nearby" + queryValues.ToString(true));
        }
Пример #12
0
        /// <inheritDoc/>
        public string GetV1ContactTypeIndexUrl(short pageSize, PagingTokens pagingTokens)
        {
            var queryValues = CreateQueryStringValues(pageSize, pagingTokens);

            return("api/v1/settings/contact_types" + queryValues.ToString(true));
        }
Пример #13
0
        /// <inheritDoc/>
        public string GetV1ListPeopleIndexUrl(int listId, short pageSize, PagingTokens pagingTokens)
        {
            var queryValues = CreateQueryStringValues(pageSize, pagingTokens);

            return($"api/v1/lists/{listId}/people" + queryValues.ToString(true));
        }
Пример #14
0
        /// <inheritDoc/>
        public string GetV1ListIndexUrl(short pageSize, PagingTokens pagingTokens)
        {
            var queryValues = CreateQueryStringValues(pageSize, pagingTokens);

            return("api/v1/lists" + queryValues.ToString(true));
        }
Пример #15
0
        /// <inheritDoc/>
        public virtual string GetV1PersonIndexUrl(short pageSize, PagingTokens pagingTokens)
        {
            var queryValues = CreateQueryStringValues(pageSize, pagingTokens);

            return("api/v1/people" + queryValues.ToString(true));
        }
Пример #16
0
        /// <inheritDoc/>
        public string GetV1ContactIndexUrl(int personId, short pageSize, PagingTokens pagingTokens)
        {
            var queryValues = CreateQueryStringValues(pageSize, pagingTokens);

            return($"api/v1/people/{personId}/contacts" + queryValues.ToString(true));
        }