public async static Task<PagedList<Connection>> FindAllAsync(string type, string query = null, IEnumerable<string> fields = null, int page = 1, int pageSize = 20, string orderBy = null, SortOrder sortOrder = SortOrder.Descending) { var request = new FindAllConnectionsRequest() { Type = type, Query = query, PageNumber = page, PageSize = pageSize, OrderBy = orderBy, SortOrder = sortOrder }; var response = await request.ExecuteAsync(); if (response.Status.IsSuccessful == false) throw response.Status.ToFault(); var connections = new PagedList<Connection>() { PageNumber = response.PagingInfo.PageNumber, PageSize = response.PagingInfo.PageSize, TotalRecords = response.PagingInfo.TotalRecords, GetNextPage = async skip => await FindAllAsync(type, query, fields, page + skip + 1, pageSize) }; connections.AddRange(response.Connections); return connections; }
public async Task<FindAllConectionsResponse> FindAllConnectionsAsync(FindAllConnectionsRequest request) { byte[] bytes = null; bytes = await HttpOperation .WithUrl(Urls.For.FindAllConnectionsAsync(request.Type, request.Query, request.PageNumber, request.PageSize, request.OrderBy, request.SortOrder, request.CurrentLocation, request.DebugEnabled, request.Verbosity, request.Fields)) .WithAppacitiveSession(request.SessionToken) .WithEnvironment(request.Environment) .WithUserToken(request.UserToken) .GetAsync(); var response = FindAllConectionsResponse.Parse(bytes); return response; }
/// <summary> /// Finds a paginated list of APConnections for the given type and search criteria. /// </summary> /// <param name="type">The type (relation name) of the connection.</param> /// <param name="freeTextExpression">Free text search expression over all fields of the given type.</param> /// <param name="query">The search query</param> /// <param name="fields">The specific fields of the conection to be retrieved.</param> /// <param name="pageNumber">The page number.</param> /// <param name="pageSize">The page size.</param> /// <param name="orderBy">The field on which to sort.</param> /// <param name="sortOrder">Sort order - Ascending or Descending.</param> /// <param name="options">Request specific api options. These will override the global settings for the app for this request.</param> /// <returns>A paginated list of APConnections for the given search criteria.</returns> public async static Task<PagedList<APConnection>> FindAllAsync(string type, string freeTextExpression, IQuery query = null, IEnumerable<string> fields = null, int pageNumber = 1, int pageSize = 20, string orderBy = null, SortOrder sortOrder = SortOrder.Descending, ApiOptions options = null) { query = query ?? Query.None; var request = new FindAllConnectionsRequest() { Type = type, FreeTextExpression = freeTextExpression, Query = query.AsString().Escape(), PageNumber = pageNumber, PageSize = pageSize, OrderBy = orderBy, SortOrder = sortOrder }; ApiOptions.Apply(request, options); var response = await request.ExecuteAsync(); if (response.Status.IsSuccessful == false) throw response.Status.ToFault(); var connections = new PagedList<APConnection>() { PageNumber = response.PagingInfo.PageNumber, PageSize = response.PagingInfo.PageSize, TotalRecords = response.PagingInfo.TotalRecords, GetNextPage = async skip => await FindAllAsync(type, freeTextExpression, query, fields, pageNumber + skip + 1, pageSize, orderBy, sortOrder, options) }; connections.AddRange(response.Connections); return connections; }