Пример #1
0
 /// <summary>
 ///
 /// </summary>
 public GetSellerListCall()
 {
     ApiRequest = new GetSellerListRequestType();
 }
Пример #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="ApiContext">The <see cref="ApiCall.ApiContext"/> for this API Call of type <see cref="ApiContext"/>.</param>
 public GetSellerListCall(ApiContext ApiContext)
 {
     ApiRequest      = new GetSellerListRequestType();
     this.ApiContext = ApiContext;
 }
    public List<Seller_Item> GetUserItems(string userToken)
    {
        string callname = "GetSellerList";

        #region Initialise Needed Variables

        //Get the Server to use (Sandbox or Production)
        string serverUrl = ConfigurationManager.AppSettings["TradingService"];

        //SiteID = 0  (US) - UK = 3, Canada = 2, Australia = 15, ....
        string siteID = "15";/*Updated by javed 27-11-2013 --- Previous value was 0*/

        eBayAPIInterfaceService service = new eBayAPIInterfaceService();
        string requestURL = serverUrl + "?callname=" + callname + "&siteid=" + siteID
                            + "&appid=" + AppID + "&version=" + version + "&routing=default";
        service.Url = requestURL;

        // Set credentials
        service.RequesterCredentials = new CustomSecurityHeaderType();
        service.RequesterCredentials.Credentials = new UserIdPasswordType();
        service.RequesterCredentials.Credentials.AppId = AppID;
        service.RequesterCredentials.Credentials.DevId = DevID;
        service.RequesterCredentials.Credentials.AuthCert = CertID;
        service.RequesterCredentials.eBayAuthToken = userToken;
        #endregion

        GetSellerListRequestType request = new GetSellerListRequestType();
        request.WarningLevel = WarningLevelCodeType.High;
        request.EndTimeFrom = DateTime.Today;
        request.EndTimeFromSpecified = true;
        request.EndTimeTo = DateTime.Today.AddDays(120);
        request.EndTimeToSpecified = true;
        request.Version = version;
        request.DetailLevel = new DetailLevelCodeType[] { DetailLevelCodeType.ItemReturnDescription, DetailLevelCodeType.ItemReturnAttributes};
        request.Pagination = new PaginationType();
        request.Pagination.PageNumber = 1;
        request.Pagination.PageNumberSpecified = true;
        request.Pagination.EntriesPerPage = 200;
        request.Pagination.EntriesPerPageSpecified = true;

        try
        {
            List<Seller_Item> items = new List<Seller_Item>();
            bool moreItem = true;
            while (moreItem == true)
            {
                GetSellerListResponseType response = service.GetSellerList(request);

                foreach (var s in response.ItemArray)
                {
                    try
                    {
                        Seller_Item si = new Seller_Item()
                        {
                            CustomLabel = s.SKU,
                            PictureURL = s.PictureDetails != null && s.PictureDetails.PictureURL != null ? s.PictureDetails.PictureURL[0] : string.Empty,
                            ItemViewURL = s.ListingDetails.ViewItemURL,
                            BinPrice = s.ListingDetails.ConvertedBuyItNowPrice.Value,
                            CurrentPrice = s.ListingDetails.ConvertedStartPrice.Value,
                            Currency = s.ListingDetails.ConvertedStartPrice.currencyID != null ? s.ListingDetails.ConvertedStartPrice.currencyID.ToString() : string.Empty,
                            EndDate = s.ListingDetails.EndTime,
                            StartDate = s.ListingDetails.StartTime,
                            ItemID = s.ItemID,
                            ItemName = s.Title,
                            IsPromoItem = s.SellingStatus.PromotionalSaleDetails != null && s.SellingStatus.PromotionalSaleDetails.StartTime.Date <= System.DateTime.Today.Date && s.SellingStatus.PromotionalSaleDetails.EndTime.Date >= System.DateTime.Today.Date ? true : false,
                            Height = s.ShippingPackageDetails.PackageDepth != null ? (decimal?)s.ShippingPackageDetails.PackageDepth.Value : null,
                            Length = s.ShippingPackageDetails.PackageLength != null ? (decimal?)s.ShippingPackageDetails.PackageLength.Value : null,
                            Width = s.ShippingPackageDetails.PackageWidth != null ? (decimal?)s.ShippingPackageDetails.PackageWidth.Value : null,
                            Weight = s.ShippingPackageDetails.WeightMajor != null ? (decimal?)s.ShippingPackageDetails.WeightMajor.Value : null,
                            WeightMinor = s.ShippingPackageDetails.WeightMinor != null ? (decimal?)s.ShippingPackageDetails.WeightMinor.Value : null,
                            CategoryID = s.PrimaryCategory.CategoryID,
                            CategoryName = s.PrimaryCategory.CategoryName,
                            Quantity = s.Quantity,
                            Discription = s.Description,
                            CountryCode = countryID,
                            CountryShortCode = countryShortID,
                            CurrentSales = s.SellingStatus.QuantitySold,
                            QuantityAvailable = s.QuantityAvailable

                        };
                        items.Add(si);

                    }
                    catch (Exception ex)
                    {
                        Logging.WriteLog(LogType.Critical, ex.ToString());
                    }
                }

                if (response.ItemArray.Count() == 200)
                    request.Pagination.PageNumber += 1;
                else
                    moreItem = false;

            }

            return items;

            //List<Seller_Item> items = response.ItemArray.Select(s => new Seller_Item
            //{
            //    CustomLabel = s.SKU,
            //    //PictureURL = s.PictureDetails != null && s.PictureDetails.PictureURL != null ? s.PictureDetails.PictureURL[0] : string.Empty,
            //    //ItemViewURL = s.ListingDetails.ViewItemURL,
            //    BinPrice = s.ListingDetails.ConvertedBuyItNowPrice.Value,
            //    CurrentPrice = s.ListingDetails.ConvertedStartPrice.Value,
            //    Currency = s.ListingDetails.ConvertedStartPrice.currencyID != null ? s.ListingDetails.ConvertedStartPrice.currencyID.ToString() : string.Empty,
            //    EndDate = s.ListingDetails.EndTime,
            //    StartDate = s.ListingDetails.StartTime,
            //    ItemID = s.ItemID,
            //    ItemName = s.Title,
            //    IsPromoItem = s.SellingStatus.PromotionalSaleDetails != null && s.SellingStatus.PromotionalSaleDetails.StartTime.Date <= System.DateTime.Today.Date && s.SellingStatus.PromotionalSaleDetails.EndTime.Date >= System.DateTime.Today.Date ? true : false,
            //    Height = s.ShippingPackageDetails.PackageDepth != null ? (decimal?)s.ShippingPackageDetails.PackageDepth.Value : null,
            //    Length = s.ShippingPackageDetails.PackageLength != null ? (decimal?)s.ShippingPackageDetails.PackageLength.Value : null,
            //    Width = s.ShippingPackageDetails.PackageWidth != null ? (decimal?)s.ShippingPackageDetails.PackageWidth.Value : null,
            //    //Weight = s.ShippingPackageDetails.WeightMajor != null ? (decimal?)s.ShippingPackageDetails.WeightMajor.Value : null,
            //    //WeightMinor = s.ShippingPackageDetails.WeightMinor != null ? (decimal?)s.ShippingPackageDetails.WeightMinor.Value : null,
            //    CategoryID = s.PrimaryCategory.CategoryID,
            //    CategoryName = s.PrimaryCategory.CategoryName

            //}).ToList();

        }
        catch (Exception ex)
        {
            if (ex.Message.ToLower().Contains("auth token"))
                throw new InvalidEbayCredentialsException();
            else
                throw ex;
        }
    }
Пример #4
0
        private void EndActiveAuctions(IEnumerable <Article> articles)
        {
            try
            {
                GetSellerListRequestType request = new GetSellerListRequestType();

                request.Version = "0.1";

                request.GranularityLevelSpecified = true;
                request.GranularityLevel          = GranularityLevelCodeType.Coarse;

                // Setting the date-range filter. This call required either EndTimeFrom & EndTimeTo pair OR StartTimeFrom & StartTimeTo pair
                // as a required input parameter.
                request.EndTimeFromSpecified = true;
                request.EndTimeFrom          = DateTime.Now.ToUniversalTime();

                request.EndTimeToSpecified = true;
                request.EndTimeTo          = DateTime.Now.AddDays(14).ToUniversalTime();

                // Setting the Pagination which is a required input parameter for GetSellerList call
                PaginationType pagination = new PaginationType();
                pagination.EntriesPerPageSpecified = true;
                pagination.EntriesPerPage          = 200;
                pagination.PageNumberSpecified     = true;
                pagination.PageNumber = 1;

                request.Pagination = pagination;

                GetSellerListResponseType response    = new GetSellerListResponseType();
                GetSellerListCall         listApiCall = new GetSellerListCall(apiContext);
                response = (GetSellerListResponseType)listApiCall.ExecuteRequest(request);

                if (response.Ack == AckCodeType.Success)
                {
                    EndItemsCall endApiCall = new EndItemsCall(apiContext);
                    EndItemRequestContainerTypeCollection endItems = new EndItemRequestContainerTypeCollection();

                    foreach (ItemType item in response.ItemArray)
                    {
                        EndItemRequestContainerType endItem = new EndItemRequestContainerType();
                        endItem.EndingReason          = EndReasonCodeType.NotAvailable;
                        endItem.EndingReasonSpecified = true;
                        endItem.MessageID             = item.ItemID;
                        endItem.ItemID = item.ItemID;
                        endItems.Add(endItem);
                    }

                    if (endItems.Count > 0)
                    {
                        EndItemResponseContainerTypeCollection endResponse = endApiCall.EndItems(endItems);

                        String errMsg = String.Empty;
                        foreach (EndItemResponseContainerType item in endResponse)
                        {
                            errMsg += EvaluateErrorMessages(item.Errors);
                        }

                        if (errMsg != String.Empty)
                        {
                            Assert.Fail(errMsg);
                        }
                    }
                }
                else
                {
                    String errMsg = EvaluateErrorMessages(response.Errors);
                    if (errMsg != String.Empty)
                    {
                        Assert.Fail(errMsg);
                    }
                }
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message);
            }
        }
Пример #5
0
        /// <summary>
        /// Check whether the recently added items exists and if they has the right, changed quantity
        /// </summary>
        /// <returns>ItemType object</returns>
        #region CheckRevicedItems
        private bool CheckRevicedItems()
        {
            Boolean ret    = false;
            String  errMsg = String.Empty;

            try
            {
                GetSellerListRequestType request = new GetSellerListRequestType();

                // Setting the date-range filter. This call required either EndTimeFrom & EndTimeTo pair OR StartTimeFrom & StartTimeTo pair
                // as a required input parameter.
                request.EndTimeFromSpecified = true;
                request.EndTimeFrom          = DateTime.Now.ToUniversalTime();
                request.EndTimeToSpecified   = true;
                request.EndTimeTo            = DateTime.Now.AddDays(14).ToUniversalTime();
                request.DetailLevel          = new DetailLevelCodeTypeCollection()
                {
                    DetailLevelCodeType.ReturnAll
                };

                // Setting the Pagination which is a required input parameter for GetSellerList call
                PaginationType pagination = new PaginationType();
                pagination.EntriesPerPageSpecified = true;
                pagination.EntriesPerPage          = 5;
                pagination.PageNumberSpecified     = true;
                pagination.PageNumber = 1;
                request.Pagination    = pagination;

                //Set SKUs we're looking for
                StringCollection skus = new StringCollection();
                foreach (Article article in articles)
                {
                    skus.Add(article.ArticleNumber);
                }
                request.SKUArray = skus;

                GetSellerListResponseType response    = new GetSellerListResponseType();
                GetSellerListCall         listApiCall = new GetSellerListCall(apiContext);
                response = (GetSellerListResponseType)listApiCall.ExecuteRequest(request);

                if (response.Ack == AckCodeType.Success)
                {
                    foreach (ItemType item in response.ItemArray)
                    {
                        if (item.Quantity != 88)
                        {
                            errMsg += "Wrong quantity of item no. " + item.ItemID;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message);
            }

            if (errMsg == String.Empty)
            {
                ret = true;
            }
            else
            {
                Assert.Fail("CheckRevicedItems failed: " + errMsg);
            }

            return(ret);
        }
		/// <summary>
		/// 
		/// </summary>
		/// <param name="ApiContext">The <see cref="ApiCall.ApiContext"/> for this API Call of type <see cref="ApiContext"/>.</param>
		public GetSellerListCall(ApiContext ApiContext)
		{
			ApiRequest = new GetSellerListRequestType();
			this.ApiContext = ApiContext;
		}
		/// <summary>
		/// 
		/// </summary>
		public GetSellerListCall()
		{
			ApiRequest = new GetSellerListRequestType();
		}