public async Task <PaginationOutput <DailyStatisticDto> > GetListAsync(PaginationInput input) { CancellationToken.ThrowIfCancellationRequested(); if (input == null) { throw new ArgumentNullException(nameof(input)); } var query = from a in _context.DailyStatistics join b in _context.Users on a.CreatorUserId equals b.Id select new DailyStatisticDto() { Id = a.Id, CreationTime = a.CreationTime, CreatorUserName = b.FullName, Date = a.Date, Platform = a.Platform }; var totalCount = await query.CountAsync(CancellationToken); var totalSize = (int)Math.Ceiling(totalCount / (decimal)input.PageSize); var dailyStatistics = await query.OrderByDescending(o => o.CreationTime) .Skip((input.PageIndex - 1) * input.PageSize) .Take(input.PageSize) .ToListAsync(CancellationToken); return(new PaginationOutput <DailyStatisticDto>(totalSize, dailyStatistics)); }
public async Task <PaginationOutput <RoleDto> > GetListAsync(PaginationInput input) { CancellationToken.ThrowIfCancellationRequested(); if (input == null) { throw new ArgumentNullException(nameof(input)); } var query = from a in _context.Roles select new RoleDto() { Id = a.Id, Name = a.Name, DisplayName = a.DisplayName, Active = a.Active, Protected = a.Protected }; var totalCount = await query.CountAsync(CancellationToken); var totalSize = (int)Math.Ceiling(totalCount / (decimal)input.PageSize); var roles = await query.OrderBy(o => o.Name) .Skip((input.PageIndex - 1) * input.PageSize) .Take(input.PageSize) .ToListAsync(CancellationToken); return(new PaginationOutput <RoleDto>(totalSize, roles)); }
//"http://developer.ebay.com/webservices/Finding/latest/FindingService.wsdl"; public override SearchByQueryResponse Search(SearchByQueryRequest request) { try { EbayFindingAPIAdapter service = new EbayFindingAPIAdapter(); FindItemsByKeywordsRequest findItemsRequest = new FindItemsByKeywordsRequest(); service.Url = FindingServiceURL; findItemsRequest.keywords = request.SearchQuery; // Setting the pagination PaginationInput pagination = new PaginationInput(); pagination.entriesPerPageSpecified = true; pagination.entriesPerPage = 25; pagination.pageNumberSpecified = true; pagination.pageNumber = 1; findItemsRequest.paginationInput = pagination; // Creating response object FindItemsByKeywordsResponse response = service.findItemsByKeywords(findItemsRequest); var result = response.searchResult; return(new SearchByQueryResponse { IsSuccess = true, SearchResult = new DataObjects.ECommerce.SearchResult() }); } catch (Exception ex) { Console.WriteLine("* Error: " + ex.Message); return(new SearchByQueryResponse { IsSuccess = false }); } }
// GET api/values public IEnumerable <string> Get() { FindItemsAdvancedRequest request = new FindItemsAdvancedRequest(); // request.keywords = keyword.Text; if (request.keywords == null) { request.keywords = "ipod"; } PaginationInput pi = new PaginationInput(); pi.entriesPerPage = 10; pi.entriesPerPageSpecified = true; request.paginationInput = pi; // Call the service FindingServicePortTypeClient client; string appID = System.Configuration.ConfigurationManager.AppSettings["AppID"]; string findingServerAddress = System.Configuration.ConfigurationManager.AppSettings["FindingServerAddress"]; APIManager.Core.Configuration.ClientConfig config = new APIManager.Core.Configuration.ClientConfig(); // Initialize service end-point configration config.EndPointAddress = findingServerAddress; // set eBay developer account AppID config.ApplicationId = appID; // Create a service client client = FindingServiceClientFactory.getServiceClient(config); FindItemsAdvancedResponse response = client.findItemsAdvanced(request); return(new string[] { "value1", "value2" }); }
public async Task <PaginationOutput <DictionaryDto> > GetListAsync(PaginationInput input) { CancellationToken.ThrowIfCancellationRequested(); if (input == null) { throw new ArgumentNullException(nameof(input)); } var query = from a in _context.Dictionaries select a; var totalCount = await query.CountAsync(CancellationToken); var totalSize = (int)Math.Ceiling(totalCount / (decimal)input.PageSize); var dictionaries = await query.OrderByDescending(o => o.Name) .Skip((input.PageIndex - 1) * input.PageSize) .Take(input.PageSize) .Select(s => new DictionaryDto() { Id = s.Id, Name = s.Name, DisplayName = s.DisplayName }) .ToListAsync(CancellationToken); return(new PaginationOutput <DictionaryDto>(totalSize, dictionaries)); }
static void Main(string[] args) { // Init log // This sample and the FindingKit use <a href="http://slf.codeplex.com/">Simple Logging Facade(SLF)</a>, // Here is a <a href="http://slf.codeplex.com/">good introdution</a> about SLF(for example, supported log levels, how to log to a file) LoggerService.SetLogger(new ConsoleLogger()); ILogger logger = LoggerService.GetLogger(); // Basic service call flow: // 1. Setup client configuration // 2. Create service client // 3. Create outbound request and setup request parameters // 4. Call the operation on the service client and receive inbound response // 5. Handle response accordingly // Handle exception accrodingly if any of the above steps goes wrong. try { ClientConfig config = new ClientConfig(); // Initialize service end-point configuration config.EndPointAddress = "http://svcs.ebay.com/services/search/FindingService/v1"; // set eBay developer account AppID config.ApplicationId = "YOUR APPID HERE"; // Create a service client FindingServicePortTypeClient client = FindingServiceClientFactory.getServiceClient(config); // Create request object FindItemsByKeywordsRequest request = new FindItemsByKeywordsRequest(); // Set request parameters request.keywords = "harry potter phoenix"; PaginationInput pi = new PaginationInput(); pi.entriesPerPage = 2; pi.entriesPerPageSpecified = true; request.paginationInput = pi; // Call the service FindItemsByKeywordsResponse response = client.findItemsByKeywords(request); // Show output logger.Info("Ack = " + response.ack); logger.Info("Find " + response.searchResult.count + " items."); SearchItem[] items = response.searchResult.item; for (int i = 0; i < items.Length; i++) { logger.Info(items[i].title); } } catch (Exception ex) { // Handle exception if any logger.Error(ex); } Console.WriteLine("Press any key to close the program."); Console.ReadKey(); }
private void managePaging() { PagingManager = new PaginationInput { entriesPerPageSpecified = true, entriesPerPage = 25, pageNumberSpecified = true, pageNumber = 1 }; }
public async Task <PaginationOutput <DictionaryDto> > GetListAsync(PaginationInput input) { var query = from a in _context.Dictionaries select a; var totalCount = await query.CountAsync(); var totalSize = (int)Math.Ceiling(totalCount / (decimal)input.PageSize); var dictionaries = await query.OrderByDescending(o => o.Name) .Skip((input.PageIndex - 1) * input.PageSize) .Take(input.PageSize) .Select(s => new DictionaryDto() { Id = s.Id, Name = s.Name, DisplayName = s.DisplayName }) .ToListAsync(); return(new PaginationOutput <DictionaryDto>(totalSize, dictionaries)); }
public async Task <PaginationOutput <RoleDto> > GetListAsync(PaginationInput input) { var query = from a in _context.Roles select new RoleDto() { Id = a.Id, Name = a.Name, DisplayName = a.DisplayName, Active = a.Active, Protected = a.Protected }; var totalCount = await query.CountAsync(); var totalSize = (int)Math.Ceiling(totalCount / (decimal)input.PageSize); var roles = await query.OrderBy(o => o.Name) .Skip((input.PageIndex - 1) * input.PageSize) .Take(input.PageSize) .ToListAsync(); return(new PaginationOutput <RoleDto>(totalSize, roles)); }
public ActionResult SellerItems(string Id) { FindingServicePortTypeClient client = FindingServiceClientFactory.getServiceClient(config); ViewBag.Seller = Id; SearchItem[] items = null; try { // Create request object FindItemsAdvancedRequest request = new FindItemsAdvancedRequest(); ItemFilter[] ifilter = { new ItemFilter { name = ItemFilterType.Seller, value = new string[] { Id } } }; request.itemFilter = ifilter; PaginationInput pi = new PaginationInput(); pi.entriesPerPage = 105; pi.entriesPerPageSpecified = true; request.paginationInput = pi; // Call the service FindItemsAdvancedResponse response = client.findItemsAdvanced(request); // Show output if (response.searchResult != null && response.searchResult.item != null) { items = response.searchResult.item; ViewBag.resultcount = response.searchResult.count; ViewBag.totalitems = response.paginationOutput.totalEntries; ViewBag.location = items[0].location; return View(items); } } catch (Exception ex) { var errorText = ex.Message; } return View(); }
public async Task <IActionResult> List(PaginationInput input) { var output = await _dailyStatisticQuerier.GetListAsync(input); return(View(new PaginationModel <DailyStatisticDto>(output, input))); }
public async Task <IActionResult> List(PaginationInput input) { var output = await _roleQuerier.GetListAsync(input); return(View(output)); }
static List<VideoCard> GrabPricesFromEbay(string keyword) { List<VideoCard> foundCards = new List<VideoCard>(); //setup for console logging of api results LoggerService.SetLogger(new ConsoleLogger()); ILogger logger = LoggerService.GetLogger(); try { ClientConfig config = new ClientConfig(); // Initialize service end-point configuration config.EndPointAddress = "http://svcs.sandbox.ebay.com/services/search/FindingService/v1"; // set eBay developer account AppID config.ApplicationId = "JackPetr-b629-4a64-94a2-cb909b9c0c47"; // Create a service client FindingServicePortTypeClient client = FindingServiceClientFactory.getServiceClient(config); // Create request object FindCompletedItemsRequest completedItemsRequest = new FindCompletedItemsRequest(); // Set request parameters keyword = keyword + " -water -block -waterblock -heatsink -heat -sink"; completedItemsRequest.keywords = keyword; DateTime today = DateTime.UtcNow; DateTime month = new DateTime(today.Year, today.Month, 1); DateTime lastMonth = month.AddMonths(-1); ItemFilter if1 = new ItemFilter(); if1.name = ItemFilterType.EndTimeFrom; if1.value = new string[] {lastMonth.ToString("o")}; ItemFilter if2 = new ItemFilter(); if2.name = ItemFilterType.EndTimeTo; if2.value = new string[] { today.ToString("o") }; ItemFilter if3 = new ItemFilter(); if3.name = ItemFilterType.MinPrice; if3.paramName = "Currency"; if3.paramValue = "USD"; if3.value = new string[] {"50"}; ItemFilter if4 = new ItemFilter(); if4.name = ItemFilterType.MaxPrice; if4.paramName = "Currency"; if4.paramValue = "USD"; if4.value = new string[] { "1100" }; ItemFilter if5 = new ItemFilter(); if5.name = ItemFilterType.ExcludeCategory; if5.value = new string[] {"179"}; ItemFilter[] ifa = new ItemFilter[5]; ifa[0] = if1; ifa[1] = if2; ifa[2] = if3; ifa[3] = if4; ifa[4] = if5; completedItemsRequest.itemFilter = ifa; PaginationInput pi = new PaginationInput(); pi.entriesPerPage = 200; pi.entriesPerPageSpecified = true; completedItemsRequest.paginationInput = pi; // Call the service FindCompletedItemsResponse response = client.findCompletedItems(completedItemsRequest); // Show output if (Debug) if (response.ack.ToString().Equals("Failure")) { int tries = 0; while (tries < 3) { if (response.ack.ToString().Equals("Failure")) { //retry tries++; response = client.findCompletedItems(completedItemsRequest); }else { break; } } } logger.Info("Ack = " + response.ack); logger.Info("Find " + response.searchResult.count + " items."); SearchItem[] items = response.searchResult.item; if(Debug){logSearchResultsToFile(items);} foreach (SearchItem item in items) { if (item.sellingStatus.sellingState.Equals("EndedWithSales")) { VideoCard trackCard = new VideoCard(); trackCard.SetCardName(item.title); trackCard.SetPrice(item.sellingStatus.currentPrice.Value); foundCards.Add(trackCard); logger.Info("Item" + item.title + "added!"); logger.Info(item.sellingStatus.currentPrice.Value); } } } catch (Exception ex) { // Handle exception if any logger.Error(ex); } return foundCards; }
public async Task <IActionResult> GetPaginationAuctionAsync([FromBody] PaginationInput paginationInput) { var paginationData = await _paginationService.GetPaginationAuction(paginationInput.PageNumber, paginationInput.CountRows); return(Ok(paginationData)); }
public async Task <IActionResult> GetMyCustomerPaginationAsync([FromBody] PaginationInput paginationInput) { var paginationData = await _paginationService.GetMyCustomerPaginationAsync(paginationInput.PageNumber, paginationInput.CountRows, GetUserName()); return(Ok(paginationData)); }
public List<tblItem> FindByKeyWord(String items) { List<tblItem> prodlist = new List<tblItem> { }; FindItemsAdvancedRequest request = new FindItemsAdvancedRequest(); //request.affiliate.trackingId = null; //request.affiliate.networkId = "9"; // Set request parameters request.keywords = items; ItemFilter filter1 = new ItemFilter(); ItemFilter filter2 = new ItemFilter(); ItemFilter filter3 = new ItemFilter(); filter3.name = ItemFilterType.Condition; filter3.value = new string[] { "1000" }; ItemFilter[] filters = { filter3/*, filter2, filter3*/ }; request.itemFilter = filters; //request.categoryId = items; if (request.keywords == null) { request.keywords = "ipod"; } PaginationInput pi = new PaginationInput(); pi.entriesPerPage = 100; pi.entriesPerPageSpecified = true; request.paginationInput = pi; // Call the service FindItemsAdvancedResponse response = m_client.findItemsAdvanced(request); SearchItem[] listing = response.searchResult.item; if (listing != null) { foreach (SearchItem i in listing) { tblItem items_tbl = new tblItem(); items_tbl.item_category = i.primaryCategory.categoryId; items_tbl.item_title = i.title; items_tbl.item_id = i.itemId; items_tbl.gallery_url = i.galleryURL; items_tbl.listing_url = i.viewItemURL; prodlist.Add(items_tbl); try { DataClasses1DataContext context = new DataClasses1DataContext(); context.tblItems.InsertOnSubmit(items_tbl); context.SubmitChanges(); } catch (Exception e) { string s = e.Message; } } return prodlist; } return prodlist; }
public IEnumerable<long> SearchLinks() { IList<long> list = new List<long>(); //181419645692 var config = new ClientConfig(); config.EndPointAddress = "http://svcs.ebay.com/services/search/FindingService/v1"; config.ApplicationId = "Artsiom97-3905-4c09-9e4e-4144ac444e6"; var client = FindingServiceClientFactory.getServiceClient(config); var request = new FindItemsAdvancedRequest(); // Set request parameters request.keywords = Keywords; request.categoryId = new string[] { CategoryId.ToString() }; var pi = new PaginationInput(); pi.entriesPerPage = PerPage; pi.entriesPerPageSpecified = true; request.paginationInput = pi; // Call the service var response = client.findItemsAdvanced(request); // Show output var items = response.searchResult.item; for (var i = 0; i < items.Length; i++) { list.Add(Convert.ToInt64(items[i].itemId)); } return list; }
public async Task <IActionResult> GetInitPaginationAuctionTasksAsync([FromBody] PaginationInput paginationInput) { var paginationData = await _paginationService.GetInitPaginationAuctionTasks(paginationInput.PageNumber); return(Ok(paginationData)); }
public FindItemsByKeywordsResponse SearchItems(string query, int pageSize, int pageNumber, dynamic filterList) { // Creating an object to the BestMatchService class CustomFindingService service = new CustomFindingService(); service.Url = ConfigurationManager.AppSettings["FindingService"]; // Creating request object for FindBestMatchItemDetailsByKeywords API FindItemsByKeywordsRequest request = new FindItemsByKeywordsRequest(); // Setting the required property values request.keywords = query; // Setting the pagination PaginationInput pagination = new PaginationInput(); pagination.entriesPerPageSpecified = true; pagination.entriesPerPage = pageSize; pagination.pageNumberSpecified = true; pagination.pageNumber = pageNumber; request.paginationInput = pagination; ItemFilter[] filters = new ItemFilter[4]; ItemFilter filter = new ItemFilter(); filter.name = ItemFilterType.ListingType; filter.value = new string[] { "FixedPrice", "StoreInventory" }; ItemFilter filter3 = new ItemFilter(); filter3.name = ItemFilterType.MinPrice; filter3.value = new string[] { filterList["MinPrice"] }; filters[0] = filter; filters[1] = filter3; if (int.Parse(filterList["MinQuantity"]) > 0) { ItemFilter filter2 = new ItemFilter(); filter2.name = ItemFilterType.MinQuantity; filter2.value = new string[] { filterList["MinQuantity"] }; filters[2] = filter2; } if (filterList["IsNew"] == true) { ItemFilter filter4 = new ItemFilter(); filter4.name = ItemFilterType.Condition; filter4.value = new string[] { "New" }; filters[3] = filter4; } request.itemFilter = filters; request.sortOrder = SortOrderType.BestMatch; request.sortOrderSpecified = true; // Creating response object FindItemsByKeywordsResponse response = service.findItemsByKeywords(request); return response; }
/// <summary> /// Search using Category SortOrder and Pagination /// </summary> /// <param name="Query"></param> /// <param name="CategoryID"></param> /// <param name="SortOrder"></param> /// <param name="Pagination"></param> public findItemsAdvancedResponse Search(string Query, int CategoryID, eBaySortOrder SortOrder, PaginationInput Pagination) { string searl = FindingServiceURI; searl += getHeaders("findItemsAdvanced"); searl += "keywords=" + Query.Replace(" ", "%20"); searl += GetExcludeKeywords(); if (this.DescriptionSearch) { searl += "&descriptionSearch=true"; } searl += "&categoryId=" + CategoryID.ToString(); searl += "&sortOrder=" + SortOrder.ToString(); if (Pagination != null) { searl += "&paginationInput.entriesPerPage=" + Pagination.EntriesPerPage.ToString(); searl += "&paginationInput.pageNumber= " + Pagination.PageNumber.ToString(); } //now add each item filter... if (this.ItemFilterList != null) { searl += GetFilters(this.ItemFilterList); } if (this.AspectFilterTypes != null) { searl += GetAspectFilters(this.AspectFilterTypes); } if (this.OutputSelectors != null) { searl += GetOutputSelectors(this.OutputSelectors); } XmlDocument xdoc = new XmlDocument(); xdoc.Load(searl); if (!FindErrors(xdoc)) { findItemsAdvancedResponse f = findItemsAdvancedResponse.ParseResponse(xdoc); return(f); } return(null); }
public FindResult<StoreProductSearchModel> SearchExternalStoreProduct(StoreProductSearchRequest searchRequest) { List<string> itemIds = new List<string>(); FindResult<StoreProductSearchModel> searchResult = new FindResult<StoreProductSearchModel>() { Entities = new List<StoreProductSearchModel>(), Success = false }; int totalItems = 0; eBayContext = eBayApiContextFactory.CreateServiceContext(); eBayFindingApiClient findingClient = new eBayFindingApiClient(eBayFindingApiClient.FindingServiceType.findItemsByKeywords.ToString()); FindItemsByKeywordsRequest request = new FindItemsByKeywordsRequest(); request.keywords = searchRequest.ProductName; PaginationInput pagination = new PaginationInput(); pagination.entriesPerPageSpecified = true; pagination.entriesPerPage = 100; pagination.pageNumberSpecified = true; pagination.pageNumber = 1; request.paginationInput = pagination; List<ItemFilter> filters = new List<ItemFilter>(); filters.Add(new ItemFilter { name = ItemFilterType.Currency, value = new string[] { "GBP" } }); filters.Add(new ItemFilter { name = ItemFilterType.Seller, value = new string[] { "stellatraders" }, }); request.itemFilter = filters.ToArray(); request.sortOrderSpecified = true; request.sortOrder = SortOrderType.BestMatch; request.keywords = searchRequest.ProductName; FindItemsByKeywordsResponse response = findingClient.findItemsByKeywords(request); if (response.ack != AckValue.Failure) { if (response.paginationOutput.totalEntriesSpecified) { totalItems = response.paginationOutput.totalEntries; } foreach (SearchItem searchItem in response.searchResult.item) { if (itemIds.Contains(searchItem.itemId.Trim())) { continue; } itemIds.Add(searchItem.itemId); searchResult.Entities.Add(ConvertSearchItemToSearchItemModel(searchItem)); //StoreProductSearchModel searchModel = new StoreProductSearchModel() //{ // ProductTitle = searchItem.title, // StoreProductId = searchItem.itemId, // StoreProductId1 = searchItem.productId.Value, //}; } if (response.paginationOutput.pageNumberSpecified && response.paginationOutput.totalPagesSpecified) { int totalPages = response.paginationOutput.totalPages; int currentPageNo = response.paginationOutput.pageNumber; while (totalPages > currentPageNo) { currentPageNo += 1; pagination.pageNumber = currentPageNo; request.paginationInput = pagination; response = findingClient.findItemsByKeywords(request); if (response.ack != AckValue.Failure) { foreach (SearchItem searchItem in response.searchResult.item) { if (itemIds.Contains(searchItem.itemId.Trim())) { continue; } itemIds.Add(searchItem.itemId); searchResult.Entities.Add(ConvertSearchItemToSearchItemModel(searchItem)); } } } } searchResult.Success = true; } else { searchResult.Success = false; searchResult.ErrorMessage = "Error occurred while searching for product in Ebay"; } return searchResult; }
public FindItemsByKeywordsResponse SearchItemsByID(string ItemID) { // Creating an object to the BestMatchService class CustomFindingService service = new CustomFindingService(); service.Url = ConfigurationManager.AppSettings["FindingService"]; // Creating request object for FindBestMatchItemDetailsByKeywords API FindItemsByKeywordsRequest request = new FindItemsByKeywordsRequest(); // Setting the required property values request.keywords = ItemID; // Setting the pagination PaginationInput pagination = new PaginationInput(); pagination.entriesPerPageSpecified = true; pagination.entriesPerPage = 10; pagination.pageNumberSpecified = true; pagination.pageNumber = 1; request.paginationInput = pagination; List<ItemFilter> filters = new List<ItemFilter>(); ItemFilter filter = new ItemFilter(); filter.name = ItemFilterType.ListingType; filter.value = new string[] { "FixedPrice", "AuctionWithBIN" }; filters.Add(filter); request.itemFilter = filters.ToArray(); request.sortOrder = SortOrderType.BestMatch; request.sortOrderSpecified = true; // Creating response object FindItemsByKeywordsResponse response = service.findItemsByKeywords(request); return response; }
public ActionResult Index(string Id, string zip) { FindingServicePortTypeClient client = FindingServiceClientFactory.getServiceClient(config); ViewBag.Message = Id; ViewBag.Zip = zip; SearchItem[] items = null; try { // Create request object FindItemsByKeywordsRequest request = new FindItemsByKeywordsRequest(); // Set request parameters request.keywords =Id; if (!string.IsNullOrEmpty(zip)) { request.buyerPostalCode = zip; ItemFilter[] ifilter = { new ItemFilter { name = ItemFilterType.MaxDistance, value = new string[] { "50" }} // , new ItemFilter { name = ItemFilterType.Seller, value = new string[] { "easypeaches" }} }; // ItemFilter[] ifilter2 = { new ItemFilter { name = ItemFilterType.Seller, value = new string[] { "easypeaches" } } }; request.itemFilter = ifilter; } request.sortOrder = SortOrderType.BidCountMost; //request.sortOrderSpecified = true; OutputSelectorType[] outputs = { OutputSelectorType.SellerInfo }; request.outputSelector = outputs; PaginationInput pi = new PaginationInput(); pi.entriesPerPage = 105; pi.entriesPerPageSpecified = true; request.paginationInput = pi; // Call the service FindItemsByKeywordsResponse response = client.findItemsByKeywords(request); // Show output if (response.searchResult != null && response.searchResult.item != null) { items = response.searchResult.item; ViewBag.resultcount = response.searchResult.count; ViewBag.totalitems = response.paginationOutput.totalEntries; // var groupeditems = items.GroupBy(i => i.sellerInfo); //var itemsBySeller = // from i in items // group i by i.sellerInfo into s // select new { SellerName = s.Key.sellerUserName, ItemCount = s.Count(), Items=s }; return View(items); } } catch (Exception ex) { var errorText = ex.Message; } return View(); }
public FindItemsByKeywordsResponse SearchItems(SellerItem sellerItem, int pageSize, int pageNumber) { // Creating an object to the BestMatchService class CustomFindingService service = new CustomFindingService(); service.Url = ConfigurationManager.AppSettings["FindingService"]; // Creating request object for FindBestMatchItemDetailsByKeywords API FindItemsByKeywordsRequest request = new FindItemsByKeywordsRequest(); // Setting the required property values request.keywords = sellerItem.Keywords; // Setting the pagination PaginationInput pagination = new PaginationInput(); pagination.entriesPerPageSpecified = true; pagination.entriesPerPage = pageSize; pagination.pageNumberSpecified = true; pagination.pageNumber = pageNumber; request.paginationInput = pagination; ItemFilter filter; List<ItemFilter> filters = new List<ItemFilter>(); /*ListingType*/ string ListingTypeFilter = null; if (sellerItem.Is_Fixed_Price == true) ListingTypeFilter = "FixedPrice"; if (sellerItem.Is_Auctions == true) ListingTypeFilter += ",AuctionWithBIN"; if (ListingTypeFilter != null) { filter = new ItemFilter(); filter.name = ItemFilterType.ListingType; filter.value = ListingTypeFilter.Split(','); filters.Add(filter); } /*ReturnsAcceptedOnly*/ if (sellerItem.Is_Returns_Accepted == true) { filter = new ItemFilter(); filter.name = ItemFilterType.ReturnsAcceptedOnly; filter.value = new string[] { "true" }; filters.Add(filter); } /*LocatedIn*/ //if (sellerItem.Is_Location_AU == true) //{ // filter = new ItemFilter(); // filter.name = ItemFilterType.LocatedIn; // filter.value = new string[] { "AU" }; // filters.Add(filter); //} if (!string.IsNullOrEmpty(sellerItem.LocatedIn)) { filter = new ItemFilter(); filter.name = ItemFilterType.LocatedIn; filter.value = new string[] { sellerItem.LocatedIn.ToUpper() }; filters.Add(filter); } /*HideDuplicateItems*/ if (sellerItem.Is_Hide_Duplicates == true) { filter = new ItemFilter(); filter.name = ItemFilterType.HideDuplicateItems; filter.value = new string[] { "true" }; filters.Add(filter); } /*TopRatedSellerOnly*/ if (sellerItem.Is_Hide_Duplicates == true) { filter = new ItemFilter(); filter.name = ItemFilterType.TopRatedSellerOnly; filter.value = new string[] {"true"}; filters.Add(filter); } else { /*Specify one or more seller names. Search results will include items from the specified sellers only. The Seller item filter cannot be used together with either the ExcludeSeller or TopRatedSellerOnly item filters. */ if (!string.IsNullOrEmpty(sellerItem.Inclued_Sellers)) { filter = new ItemFilter(); filter.name = ItemFilterType.Seller; filter.value = sellerItem.Inclued_Sellers.Split(','); filters.Add(filter); } else if (!string.IsNullOrEmpty(sellerItem.Exclude_Sellers)) { filter = new ItemFilter(); filter.name = ItemFilterType.ExcludeSeller; filter.value = sellerItem.Exclude_Sellers.Split(','); filters.Add(filter); } } /*MinQuantity*/ if (sellerItem.Minimum_Quantity > 0) { filter = new ItemFilter(); filter.name = ItemFilterType.MinQuantity; filter.value = new string[] { sellerItem.Minimum_Quantity.ToString() }; filters.Add(filter); } /*MaxQuantity*/ if (sellerItem.Maximum_Quantity > 0) { filter = new ItemFilter(); filter.name = ItemFilterType.MaxQuantity; filter.value = new string[] { sellerItem.Maximum_Quantity.ToString() }; filters.Add(filter); } /*MinPrice*/ if (sellerItem.Minimum_Price >= 0) { filter = new ItemFilter(); filter.name = ItemFilterType.MinPrice; filter.value = new string[] { sellerItem.Minimum_Price.ToString() }; filters.Add(filter); } /*MaxPrice*/ if (sellerItem.Maximum_Price > 0) { filter = new ItemFilter(); filter.name = ItemFilterType.MaxPrice; filter.value = new string[] { sellerItem.Maximum_Price.ToString() }; filters.Add(filter); } /*FeedbackScoreMin*/ if (sellerItem.Minimum_Feedback >= 0) { filter = new ItemFilter(); filter.name = ItemFilterType.FeedbackScoreMin; filter.value = new string[] {sellerItem.Minimum_Feedback.ToString()}; filters.Add(filter); } /*FeedbackScoreMax*/ if (sellerItem.Maximum_Feedback > 0) { filter = new ItemFilter(); filter.name = ItemFilterType.FeedbackScoreMax; filter.value = new string[] { sellerItem.Maximum_Feedback.ToString() }; filters.Add(filter); } /*Condition*/ if (!string.IsNullOrEmpty(sellerItem.Include_Condtion_Codes)) { filter = new ItemFilter(); filter.name = ItemFilterType.Condition; filter.value = sellerItem.Include_Condtion_Codes.Split(','); filters.Add(filter); } /*Cateogry*/ if (!string.IsNullOrEmpty(sellerItem.Exclude_Category_Codes)) { filter = new ItemFilter(); filter.name = ItemFilterType.ExcludeCategory; filter.value = sellerItem.Exclude_Category_Codes.Split(','); filters.Add(filter); } if(filters.Count > 0) request.itemFilter = filters.ToArray(); request.sortOrder = SortOrderType.BestMatch; request.sortOrderSpecified = true; // Creating response object FindItemsByKeywordsResponse response = service.findItemsByKeywords(request); return response; }
public ActionResult Index(string Id) { // create a eBay client config.GlobalId = "EBAY-IE"; //use Irish eBay website (www.eBay.ie) FindingServicePortTypeClient client = FindingServiceClientFactory.getServiceClient(config); ViewBag.Message = Id; SearchItem[] items = null; try { // Create request object FindItemsAdvancedRequest request = new FindItemsAdvancedRequest(); //filter items so just "buy it now" items appear ItemFilter itemFilter1 = new ItemFilter(); itemFilter1.name = ItemFilterType.ListingType; itemFilter1.value = new string[] { "FixedPrice" }; ItemFilter[] itemFilterArray = new ItemFilter[1]; itemFilterArray[0] = itemFilter1; // Set request parameters request.keywords = Id; request.itemFilter = itemFilterArray; request.sortOrder = SortOrderType.PricePlusShippingLowest; //request.sortOrderSpecified = true; OutputSelectorType[] outputs = { OutputSelectorType.SellerInfo }; request.outputSelector = outputs; PaginationInput PaginationInput = new PaginationInput(); //PaginationInput.totalNumberOfPages = 5; PaginationInput.entriesPerPageSpecified = true; PaginationInput.entriesPerPage = 100; PaginationInput.pageNumberSpecified = true; PaginationInput.pageNumber = 10; request.paginationInput = PaginationInput; // Call the api FindItemsAdvancedResponse response = client.findItemsAdvanced(request); // Show output if (response.searchResult != null && response.searchResult.item != null) { items = response.searchResult.item; ViewBag.noResultsMsg = ""; return(View(items)); } else if (Id.Length == 0) { ViewBag.noResultsMsg = "No item entered. Please enter an item to search and try again"; } else if (response.searchResult == null || response.searchResult.item == null) { ViewBag.noResultsMsg = "No Results. Please try another search"; } } catch (Exception ex) { var errorText = ex.Message; } return(View()); }