public static void UpdateInventory(string accountName, string token, string itemId, int qty, string sku, int isVariation, int soldQty, double startPrice) { ApiContext context = new ApiContext(); context.ApiCredential.eBayToken = token; context.SoapApiServerUrl = "https://api.ebay.com/wsapi"; context.ApiLogManager = new ApiLogManager(); context.ApiLogManager.ApiLoggerList.Add(new FileLogger("log.txt", false, false, false)); context.ApiLogManager.EnableLogging = true; context.Version = "861"; context.Site = SiteCodeType.US; ReviseFixedPriceItemCall reviseFixedPriceItemCall = new ReviseFixedPriceItemCall(context); ItemType item = new ItemType(); try { if (isVariation == 0) { item.ItemID = itemId; item.QuantityAvailable = qty; item.Quantity = qty; //item.StartPrice.Value = startPrice; reviseFixedPriceItemCall.Item = item; reviseFixedPriceItemCall.Execute(); } else { item.ItemID = itemId; VariationType simpleType = new VariationType(); VariationTypeCollection vtc = new VariationTypeCollection(); VariationsType vsType = new VariationsType(); simpleType.SKU = sku; simpleType.Quantity = qty; vtc.Add(simpleType); vsType.Variation = vtc; item.Variations = vsType; reviseFixedPriceItemCall.Item = item; reviseFixedPriceItemCall.Execute(); } } catch (Exception ex) { ExceptionUtility exceptionUtility = new ExceptionUtility(); exceptionUtility.CatchMethod(ex, "UpdateInventoryByReviseFixedPriceItem ", accountName + ":" + itemId + "(" + sku + ")" + " " + ex.Message.ToString(), senderEmail, messageFromPassword, messageToEmail, smtpClient, smtpPortNum); } }
private Dictionary<string, string> GetAllImages(VariationsType variation) { Dictionary<string, string> result = new Dictionary<string, string>(); foreach (PicturesType picturesType in variation.Pictures) { foreach (VariationSpecificPictureSetType pictureSetType in picturesType.VariationSpecificPictureSet) { string attributeValue = pictureSetType.VariationSpecificValue; if (pictureSetType.PictureURL.Count > 0) { result.Add(attributeValue, pictureSetType.PictureURL[0]); } else { result.Add(attributeValue, string.Empty); } } } return result; }
/// <summary> /// Build sample item Variations /// </summary> /// <returns>Variations object</returns> static VariationsType buildVariationsType() { // listing variations VariationsType variations = new VariationsType(); // first variation VariationType variation1 = new VariationType(); // create the content of VariationSpecifics NameValueListTypeCollection nvcol1 = new NameValueListTypeCollection(); NameValueListType nv11 = new NameValueListType(); nv11.Name = "Color"; StringCollection nv1StrCol = new StringCollection(); String[] strArr1 = new string[] { "RED" }; nv1StrCol.AddRange(strArr1); nv11.Value = nv1StrCol; NameValueListType nv12 = new NameValueListType(); nv12.Name = "Size"; StringCollection nv2StrCol = new StringCollection(); String[] strArr2 = new string[] { "M" }; nv2StrCol.AddRange(strArr2); nv12.Value = nv2StrCol; nvcol1.Add(nv11); nvcol1.Add(nv12); // set variation-level specifics for first variation variation1.VariationSpecifics = nvcol1; // set start price AmountType amount1 = new AmountType(); amount1.Value = 100; amount1.currencyID = CurrencyCodeType.USD; variation1.StartPrice = amount1; // set quantity variation1.Quantity = 10; // set variation name variation1.VariationTitle = "RED,M"; // second variation VariationType variation2 = new VariationType(); // create the content of specifics for each variation NameValueListTypeCollection nvcol2 = new NameValueListTypeCollection(); NameValueListType nv21 = new NameValueListType(); nv21.Name = "Color"; StringCollection nv21StrCol = new StringCollection(); String[] strArr21 = new string[] { "BLACK" }; nv21StrCol.AddRange(strArr21); nv21.Value = nv21StrCol; NameValueListType nv22 = new NameValueListType(); nv22.Name = "Size"; StringCollection nv22StrCol = new StringCollection(); String[] strArr22 = new string[] { "L" }; nv22StrCol.AddRange(strArr22); nv22.Value = nv22StrCol; nvcol2.Add(nv21); nvcol2.Add(nv22); // set variation-level specifics for first variation variation2.VariationSpecifics = nvcol2; // set start price AmountType amount2 = new AmountType(); amount2.Value = 110; amount2.currencyID = CurrencyCodeType.USD; variation2.StartPrice = amount2; // set quantity variation2.Quantity = 20; // set variation name variation2.VariationTitle = "BLACK,L"; // set variation VariationTypeCollection varCol = new VariationTypeCollection(); varCol.Add(variation1); varCol.Add(variation2); variations.Variation = varCol; // create the content of specifics for variations NameValueListTypeCollection nvcol3 = new NameValueListTypeCollection(); NameValueListType nv31 = new NameValueListType(); nv31.Name = "Color"; StringCollection nv31StrCol = new StringCollection(); String[] strArr31 = new string[] { "BLACK", "RED" }; nv31StrCol.AddRange(strArr31); nv31.Value = nv31StrCol; NameValueListType nv32 = new NameValueListType(); nv32.Name = "Size"; StringCollection nv32StrCol = new StringCollection(); String[] strArr32 = new string[] { "M", "L" }; nv32StrCol.AddRange(strArr32); nv32.Value = nv32StrCol; nvcol3.Add(nv31); nvcol3.Add(nv32); // set variationSpecifics variations.VariationSpecificsSet = nvcol3; return(variations); }