Пример #1
0
        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));
        }
Пример #2
0
        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));
        }
Пример #3
0
        //"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" });
        }
Пример #5
0
        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));
        }
Пример #6
0
        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();
        }
Пример #7
0
 private void managePaging()
 {
     PagingManager = new PaginationInput
     {
         entriesPerPageSpecified = true,
         entriesPerPage          = 25,
         pageNumberSpecified     = true,
         pageNumber = 1
     };
 }
Пример #8
0
        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));
        }
Пример #9
0
        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));
        }
Пример #10
0
        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();
        }
Пример #11
0
        public async Task <IActionResult> List(PaginationInput input)
        {
            var output = await _dailyStatisticQuerier.GetListAsync(input);

            return(View(new PaginationModel <DailyStatisticDto>(output, input)));
        }
Пример #12
0
        public async Task <IActionResult> List(PaginationInput input)
        {
            var output = await _roleQuerier.GetListAsync(input);

            return(View(output));
        }
Пример #13
0
        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;
        }
Пример #14
0
        public async Task <IActionResult> GetPaginationAuctionAsync([FromBody] PaginationInput paginationInput)
        {
            var paginationData = await _paginationService.GetPaginationAuction(paginationInput.PageNumber, paginationInput.CountRows);

            return(Ok(paginationData));
        }
Пример #15
0
        public async Task <IActionResult> GetMyCustomerPaginationAsync([FromBody] PaginationInput paginationInput)
        {
            var paginationData = await _paginationService.GetMyCustomerPaginationAsync(paginationInput.PageNumber, paginationInput.CountRows, GetUserName());

            return(Ok(paginationData));
        }
Пример #16
0
        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;
        }
Пример #17
0
        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;
        }
Пример #18
0
        public async Task <IActionResult> GetInitPaginationAuctionTasksAsync([FromBody] PaginationInput paginationInput)
        {
            var paginationData = await _paginationService.GetInitPaginationAuctionTasks(paginationInput.PageNumber);

            return(Ok(paginationData));
        }
Пример #19
0
    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);
        }
Пример #21
0
        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;
        }
Пример #22
0
    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;
    }
Пример #23
0
        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();
        }
Пример #24
0
    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;
    }
Пример #25
0
        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());
        }