/// <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)); }
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); }
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); }
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); }
/// <inheritDoc/> public string GetV1PersonNearbyUrl(short pageSize, PagingTokens pagingTokens, GetNearbyPeopleParameters parameters) { var queryValues = CreateQueryStringValues(pageSize, pagingTokens, parameters); return("api/v1/people/nearby" + queryValues.ToString(true)); }
/// <inheritDoc/> public string GetV1ContactTypeIndexUrl(short pageSize, PagingTokens pagingTokens) { var queryValues = CreateQueryStringValues(pageSize, pagingTokens); return("api/v1/settings/contact_types" + queryValues.ToString(true)); }
/// <inheritDoc/> public string GetV1ListPeopleIndexUrl(int listId, short pageSize, PagingTokens pagingTokens) { var queryValues = CreateQueryStringValues(pageSize, pagingTokens); return($"api/v1/lists/{listId}/people" + queryValues.ToString(true)); }
/// <inheritDoc/> public string GetV1ListIndexUrl(short pageSize, PagingTokens pagingTokens) { var queryValues = CreateQueryStringValues(pageSize, pagingTokens); return("api/v1/lists" + queryValues.ToString(true)); }
/// <inheritDoc/> public virtual string GetV1PersonIndexUrl(short pageSize, PagingTokens pagingTokens) { var queryValues = CreateQueryStringValues(pageSize, pagingTokens); return("api/v1/people" + queryValues.ToString(true)); }
/// <inheritDoc/> public string GetV1ContactIndexUrl(int personId, short pageSize, PagingTokens pagingTokens) { var queryValues = CreateQueryStringValues(pageSize, pagingTokens); return($"api/v1/people/{personId}/contacts" + queryValues.ToString(true)); }