/// <summary> /// Gets a paginated list of items for the given canned list. /// </summary> /// <param name="listName">Name of the canned list.</param> /// <param name="pageNumber">Page number.</param> /// <param name="pageSize">Page size.</param> /// <param name="options">Request specific api options. These will override the global settings for the app for this request.</param> /// <returns>Paginated list of canned list items.</returns> public static async Task <PagedList <ListItem> > GetListItemsAsync(string listName, int pageNumber = 1, int pageSize = 20, ApiOptions options = null) { var request = new GetListContentRequest { Name = listName, PageNumber = pageNumber, PageSize = pageSize }; ApiOptions.Apply(request, options); var response = await request.ExecuteAsync(); if (response.Status.IsSuccessful == false) { throw response.Status.ToFault(); } var list = new PagedList <ListItem>() { PageNumber = response.PagingInfo.PageNumber, PageSize = response.PagingInfo.PageSize, TotalRecords = response.PagingInfo.TotalRecords, GetNextPage = async skip => await GetListItemsAsync(listName, pageSize, pageNumber + skip + 1, options) }; list.AddRange(response.Items); return(list); }
public static async Task<PagedList<ListItem>> GetListItemsAsync(string listName, int page = 1, int pageSize = 20) { var request = new GetListContentRequest { Name = listName, PageNumber = page, PageSize = pageSize }; var response = await request.ExecuteAsync(); if (response.Status.IsSuccessful == false) throw response.Status.ToFault(); var list = new PagedList<ListItem>() { PageNumber = response.PagingInfo.PageNumber, PageSize = response.PagingInfo.PageSize, TotalRecords = response.PagingInfo.TotalRecords, GetNextPage = async skip => await GetListItemsAsync(listName, pageSize, page + skip + 1) }; list.AddRange(response.Items); return list; }