예제 #1
0
        /// <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>);
        }
예제 #2
0
        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);
            }
        }