/// <summary> /// Retrieves all existing items. /// Allows for filtering with <see cref="ItemFilteringSpec"/> and ordering by field name. /// For descending order preprend the field name with '-'. /// </summary> /// <returns>A list of <see cref="Item"/>s</returns> public async Task <List <Item> > GetItems(ItemFilteringSpec filters, string sortByFieldName = null) { var url = $"{ItemsV1BaseUrl}{filters?.GetQueryParams()}"; if (!string.IsNullOrEmpty(sortByFieldName)) { url += $"&sort={sortByFieldName}"; } var response = await _httpClient.GetStringAsync(url); return(JsonConvert.DeserializeObject <IEnumerable <Item> >(response) as List <Item>); }
public static async void Test(string[] args) { var client = new BasketsApiClient(args[0]); foreach (var item in await client.GetItems()) { PrintItem(item, ""); Console.WriteLine(""); } foreach (var basket in await client.GetBaskets()) { PrintBasket(basket); Console.WriteLine(""); } Console.WriteLine(await client.GetItem(3) == null); Console.WriteLine(""); PrintBasket(await client.GetBasket(2)); PrintItem(await client.CreateItem("Guitar Picks, box of 8", 2f), ""); var itemFilter = new ItemFilteringSpec { HasText = "Guitar" }; foreach (var item in await client.GetItems(itemFilter)) { PrintItem(item, ""); } itemFilter = new ItemFilteringSpec { PriceAbove = 220 }; foreach (var item in await client.GetItems(itemFilter)) { PrintItem(item, ""); } var basketFilter = new BasketFilteringSpec { OrdersAbove = 1 }; foreach (var basket in await client.GetBaskets(basketFilter)) { PrintBasket(basket); } }