Woocommerce.NET + C#:从SKU获取产品ID

问题描述 投票:1回答:1

我正在使用C#和Woocommerce.NET包装器制作一个小型应用程序。我想编辑产品,但是我没有产品的ID,只有SKU。

从SKU编号获取产品ID的最简单方法是什么?

我已经尝试过:

RestAPI rest = new RestAPI(url, key, secret); 
WCObject wc = new WCObject(rest);  

var products = wc.Product.GetAll().GetAwaiter().GetResult();

products.ForEach(p => if p.sku = productSKU)
    {
        var productIDfromSKU = p.id;
    }

编辑:我已经更改了代码,可以转换为int,并且现在可以使用!

foreach (var p in products)
     {
      if (p.sku == SKU)
           {
            IDfromSKU = Convert.ToInt32(p.id);

             };
       };

但是问题是,我只得到10种产品的清单-并非全部。有这个设置吗?我的问题仍然存在-还有更直接的方法吗?

谢谢!

c# woocommerce-rest-api
1个回答
0
投票
        RestAPI rest = new RestAPI(url, key, secret); 
        WCObject wc = new WCObject(rest);              

        List<Product> products = new List<Product>();
        Dictionary<string, string> dic1 = new Dictionary<string, string>();
        dic1.Add("per_page", "100");
        int pageNumber1 = 1;
        dic1.Add("page", pageNumber1.ToString());

        bool endWhile1 = false;
        while (!endWhile1)
        {
            var productsTemp = await wc.Product.GetAll(dic1);
            if (productsTemp.Count > 0)
            {
                products.AddRange(productsTemp);
                pageNumber1++;
                dic1["page"] = pageNumber1.ToString();
            }
            else
            {
                endWhile1 = true;
            }
        }

        foreach (Product p in products)
        {
           if (p.sku == SKU)
           {
               IDfromSKU = Convert.ToInt32(p.id);
               break;
           };
        }
© www.soinside.com 2019 - 2024. All rights reserved.