public void GetSellingManagerTemplates()
        {
            Assert.IsTrue(TestData.SoldItemId != string.Empty);
            GetSellingManagerTemplatesCall api = new GetSellingManagerTemplatesCall(apiContext);

            api.SaleTemplateIDList = new Int64Collection(new Int64[] { TestData.SaleTemplateId });
            api.Execute();
            //check whether the call is success.
            Assert.IsTrue(api.ApiResponse.Ack == AckCodeType.Success || api.ApiResponse.Ack == AckCodeType.Warning, "do not success!");
            Assert.IsNotNull(api.SellingManagerTemplateDetailsList);
            Assert.IsNotNull(api.SellingManagerTemplateDetailsList.Count > 0);
        }
Esempio n. 2
0
        public static EbayStockInfo GetEbayStockInfo(Article article)
        {
            Int32 active     = 0;
            Int32 availiable = 0;
            Int32 template   = 0;

            try
            {
                var articleNumber = article.MasterArticle == null ? article.ArticleNumber : article.MasterArticle.ArticleNumber;
                SellingManagerProductType ebayProduct = EbayController.GetSellingManagerProductTypeByArticle(articleNumber);

                if (article.MasterArticle != null)
                {
                    var variation = ebayProduct.SellingManagerProductSpecifics.Variations.Variation
                                    .ToArray()
                                    .FirstOrDefault(runner => runner.SKU == article.ArticleNumber);
                    var status = variation.SellingManagerProductInventoryStatus;

                    active =
                        variation.SellingManagerProductInventoryStatus.QuantityActiveSpecified ?
                        variation.SellingManagerProductInventoryStatus.QuantityActive :
                        0;
                    availiable = variation.UnitsAvailable;
                }
                else
                {
                    if (ebayProduct != null)
                    {
                        active =
                            ebayProduct.SellingManagerProductInventoryStatus.QuantityActiveSpecified ?
                            ebayProduct.SellingManagerProductInventoryStatus.QuantityActive :
                            0;

                        availiable =
                            ebayProduct.SellingManagerProductDetails.QuantityAvailableSpecified ?
                            ebayProduct.SellingManagerProductDetails.QuantityAvailable :
                            0;

                        if (ebayProduct.SellingManagerTemplateDetailsArray.Count > 0)
                        {
                            GetSellingManagerTemplatesCall call = new GetSellingManagerTemplatesCall(apiContext);

                            GetSellingManagerTemplatesRequestType request = new GetSellingManagerTemplatesRequestType();
                            request.Version        = Assembly.GetExecutingAssembly().GetName().Version.ToString();
                            request.SaleTemplateID = new Int64Collection();

                            foreach (SellingManagerTemplateDetailsType item in ebayProduct.SellingManagerTemplateDetailsArray)
                            {
                                request.SaleTemplateID.Add(Convert.ToInt64(item.SaleTemplateID));
                            }

                            GetSellingManagerTemplatesResponseType response = new GetSellingManagerTemplatesResponseType();
                            response = (GetSellingManagerTemplatesResponseType)call.ExecuteRequest(request);

                            if (response.Ack == AckCodeType.Success)
                            {
                                foreach (SellingManagerTemplateDetailsType item in response.SellingManagerTemplateDetailsArray)
                                {
                                    template += item.Template.Quantity;
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Can set ebay template amount for " + article.ArticleNumber, ex);
            }

            return(new EbayStockInfo(template, active, availiable));
        }