Beispiel #1
0
        /// <summary>
        /// GetCompletedItems for a seller.
        /// NOTE: we use the Listing class to house the seller's listing.
        /// </summary>
        /// <returns></returns>
        public static ModelView ScanSeller(UserSettingsView settings, string seller, DateTime fromDate)
        {
            int notSold      = 0;
            var listings     = new List <Listing>();
            var searchResult = new List <SearchResult>();

            try
            {
                CustomFindSold service = new CustomFindSold();
                service.Url   = "http://svcs.ebay.com/services/search/FindingService/v1";
                service.appID = settings.AppID;
                int currentPageNumber = 1;

                var request = ebayAPIs.BuildReqest(seller, fromDate);
                dsutil.DSUtil.WriteFile(_logfile, "Retrieve sales for " + seller, settings.UserName);
                var response = GetCompletedItems(service, request, currentPageNumber);
                dsutil.DSUtil.WriteFile(_logfile, "Retrieve sales complete", settings.UserName);

                if (response.ack == AckValue.Success)
                {
                    var result = response.searchResult;
                    if (result != null && result.count > 0)
                    {
                        listings = MapSearchResultToListing(result);
                        searchResult.Add(result);

                        // are there more pages of results?
                        for (var i = response.paginationOutput.pageNumber; i < response.paginationOutput.totalPages; i++)
                        {
                            currentPageNumber += 1;
                            response           = GetCompletedItems(service, request, currentPageNumber);
                            result             = response.searchResult;
                            searchResult.Add(result);
                            var listingsNewPage = MapSearchResultToListing(result);
                            listings.AddRange(listingsNewPage);
                        }
                    }
                    var mv = new ModelView();
                    mv.Listings     = listings;
                    mv.SearchResult = searchResult;

                    int b = notSold;
                    return(mv);
                }
                else
                {
                    dsutil.DSUtil.WriteFile(_logfile, "ScanSeller: " + seller + " - GetCompletedItems returned Failure", "admin");
                }
                return(null);
            }
            catch (Exception exc)
            {
                string msg = dsutil.DSUtil.ErrMsg("ScanSeller", exc);
                dsutil.DSUtil.WriteFile(_logfile, msg, settings.UserName);
                return(null);
            }
        }
Beispiel #2
0
 /// <summary>
 /// Actual fetch of seller's completed items
 /// </summary>
 /// <param name="service"></param>
 /// <param name="request"></param>
 /// <param name="currentPageNumber"></param>
 /// <returns>FindCompletedItemsResponse</returns>
 private static FindCompletedItemsResponse GetCompletedItems(CustomFindSold service, FindCompletedItemsRequest request, int currentPageNumber)
 {
     request.paginationInput = GetNextPage(currentPageNumber);
     return(service.findCompletedItems(request));
 }