示例#1
0
        /// <summary>
        /// 商品类目
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        public List <Product> QueryShopCatsInfo(ShipInfo info)
        {
            ITopClient client = new DefaultTopClient(url, info.AppKey, info.AppSecret);

            var pageIndex           = 1L;
            ProductsGetResponse rsp = null;
            var list = new List <Product>();

            try
            {
                ProductsGetRequest req = new ProductsGetRequest
                {
                    Fields = "product_id,tsc,cat_name,name",
                };
                rsp = client.Execute(req, info.SessionKey);
                pageIndex++;

                if (!rsp.IsError)
                {
                    list.AddRange(rsp.Products);
                }
            }
            catch (Exception e)
            {
            }

            return(list);
        }
示例#2
0
        public async void TestProductsGetRequest()
        {
            var products = await ProductsCreateTest.CreateDefaultProductsIfNotExitsAsync();

            int pageSize = 2;
            ProductsGetRequest request = new ProductsGetRequest(page: 1, pageSize: pageSize, totalRequired: true);

            var response = await TestHarness.client().Execute(request);

            Assert.Equal(200, (int)response.StatusCode);

            ProductCollection retrievedProductCollection = response.Result <ProductCollection>();

            Assert.NotNull(retrievedProductCollection);
            Assert.Equal(pageSize, retrievedProductCollection.Products.Count);
            Assert.True(retrievedProductCollection.TotalItems.Value > pageSize);

            Assert.NotNull(retrievedProductCollection.Links);
        }
示例#3
0
        public async Task <IEnumerable <IProductState> > GetAsync(ICriterion filter, IList <string> orders = null, int firstResult = 0, int maxResults = int.MaxValue, IList <string> fields = null)
        {
            IEnumerable <IProductState> states = null;
            var q = new ProductsGetQuery();

            q.FirstResult = firstResult;
            q.MaxResults  = maxResults;
            q.Sort        = ProductProxyUtils.GetOrdersQueryValueString(orders);
            q.Fields      = ProductProxyUtils.GetReturnedFieldsQueryValueString(fields, QueryFieldValueSeparator);
            q.Filter      = ProductProxyUtils.GetFilterQueryValueString(filter);
            var req = new ProductsGetRequest();

            req.Query = q;
            var resp = await _ramlClient.Products.Get(req);

            ProductProxyUtils.ThrowOnHttpResponseError(resp);
            states = (resp.Content == null) ? null : resp.Content.Select(e => e.ToProductState());
            return(states);
        }