/// <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); } }
/// <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)); }