示例#1
0
        public void AddProduct(Product product)
        {
            var variants = product.Variants;
            product.Variants = null;
            product.Options = variants[0].Options;
            variants[0].Options = null;
            product.VariantsAttributes = new[] { variants[0] };
            var x = product.ToXElement();
            var data = downloadWebPage(getFullUrl("/admin/products.xml"), HttpMethod.POST, x.ToString());
            var xx = XDocument.Parse(data).Root;
            product.LoadXElement(xx);

            if (variants.Length > 1)
            {
                for (int i = 1; i < variants.Length; i++)
                {
                    var variant = variants[i];
                    for (int j = 0; j < variant.Options.Length; j++)
                    {
                        variant.Options[j].OptionNameID = product.Variants[0].OptionValues[j].OptionNameID;
                    }
                    AddVariant(variant, product.ID);
                }
            }
        }
示例#2
0
 public IEnumerable<Product> GetProducts(int? categoryID = null, int? collectionID = null, int? page = null, int limit = 50)
 {
     var url = "admin/products.xml";
     var currentPage = page ?? 1;
     if (categoryID != null) url += "?category_id=" + categoryID;
     if (collectionID != null) url += "?collection_id=" + collectionID;
     while (true)
     {
         var data = downloadWebPage(getFullUrl(url + "?page=" + currentPage + "&limit=" + limit), HttpMethod.GET);
         var x = XDocument.Parse(data);
         if (x.Root.Elements().Count() == 0) break;
         foreach (var item in x.Root.Elements())
         {
             var prod = new Product();
             prod.LoadXElement(item);
             yield return prod;
         }
         if (page != null) break;
         currentPage++;
     }
 }
示例#3
0
 public void UpdateProduct(Product product)
 {
     var x = product.ToXElement(false);
     var data = downloadWebPage(getFullUrl("/admin/products/" + product.ID + ".xml"), HttpMethod.PUT, x.ToString());
     var xx = XDocument.Parse(data).Root;
     product.LoadXElement(xx);
 }
示例#4
0
 public Product GetProduct(int productID)
 {
     var data = downloadWebPage(getFullUrl("admin/products/" + productID + ".xml"), HttpMethod.GET);
     var x = XDocument.Parse(data).Root;
     var prod = new Product();
     prod.LoadXElement(x);
     return prod;
 }