public async Task <IEnumerable <Order> > GetAllPendingOrders(PendingOrdersOptions options = null) { options ??= new PendingOrdersOptions(); var fetchedOrders = Array.Empty <Order>(); var pendingOrders = new List <Order>(); do { fetchedOrders = (await GetPendingOrders(options)).ToArray(); pendingOrders.AddRange(fetchedOrders); options.Skip += options.Take; } while (fetchedOrders.Length == options.Take); return(pendingOrders); }
public async Task <IEnumerable <Order> > GetPendingOrders(PendingOrdersOptions options = null) { options ??= new PendingOrdersOptions(); var response = await _client.GetAsync($"/api/order{options.ToQueryString()}"); if (response.StatusCode == HttpStatusCode.NotFound) { return(Array.Empty <Order>()); } response.EnsureSuccessStatusCode(); return(JsonConvert.DeserializeObject <Order[]>( await response.Content.ReadAsStringAsync())); }