Exemple #1
1
        private static void ItemSearch()
        {
            // Create the request object
            ItemSearchRequest request = new ItemSearchRequest();

            // Fill request object with request parameters
            request.ResponseGroup = new string[] { "Large", "ItemAttributes", "AlternateVersions" };

            // Set SearchIndex to All and use the scanned EAN
            // as the keyword, this should generate a single response
            request.SearchIndex = "Books";
            request.Keywords = "Century rain"; // asin = 0441013074
            request.Author = "Alastair Reynolds";

            // Make the item search
            ItemSearch search = new ItemSearch();

            // It is ABSOLUTELY CRITICAL that you change
            // the AWSAccessKeyID to YOUR uniqe value
            // Signup for an account (and AccessKeyID) at http://aws.amazon.com/
            search.AWSAccessKeyId = access_key_id;
            search.AssociateTag = associate_tag;

            // Set the request on the search wrapper - multiple requests
            // can be submitted on one search
            search.Request = new ItemSearchRequest[] { request };

            // Make the port
            AWSECommerceServicePortTypeClient port = new AWSECommerceServicePortTypeClient("AWSECommerceServicePort");
            port.ChannelFactory.Endpoint.EndpointBehaviors.Add(new AmazonSigningEndpointBehavior(access_key_id, secret_access_key));

            //Send the request, store the response and display some of the results
            ItemSearchResponse response = port.ItemSearch(search);

            foreach (var items in response.Items)
            {
                foreach (var item in items.Item)
                {
                    Console.WriteLine("{0}\t{1}\t{2}", item.ItemAttributes.Title, item.ASIN, item.ItemAttributes.Author[0]);

                    if (item.AlternateVersions != null)
                    {
                        Console.WriteLine(" - Alternate versions");
                        foreach (var version in item.AlternateVersions)
                        {
                            Console.WriteLine(" -- \t{0}\t{1}\t{2}", version.Title, version.Binding, version.ASIN);
                        }
                    }
                }
            }
        }
        public IEnumerable<Item> GetProducts(string sona, int leht)
        {
            AWSECommerceServicePortTypeClient ecs = new AWSECommerceServicePortTypeClient();
            ItemSearchRequest paring = new ItemSearchRequest();
            paring.ResponseGroup = new string[] { "ItemAttributes,OfferSummary" };
            paring.SearchIndex = "All";
            paring.Keywords = sona;
            paring.ItemPage = String.Format("{0}", leht);
            paring.MinimumPrice = "0";

            ItemSearch otsi = new ItemSearch();
            otsi.Request = new ItemSearchRequest[] { paring };
            otsi.AWSAccessKeyId = ConfigurationManager.AppSettings["accessKeyId"];
            otsi.AssociateTag = ConfigurationManager.AppSettings["associateTag"];
            ItemSearchResponse vastus = ecs.ItemSearch(otsi);

            if (vastus == null)
            {
                throw new Exception("Server Error - didn't get any reponse from server!");
            }
            else if (vastus.OperationRequest.Errors != null)
            {
                throw new Exception(vastus.OperationRequest.Errors[0].Message);
            }
            else if (vastus.Items[0].Item == null)
            {                
                throw new Exception("Didn't get any items!Try agen with different keyword.");
            }
            else
            {
                return vastus.Items[0].Item;
            }
        }
Exemple #3
0
        static void Main(string[] args)
        {
            var ci = CultureInfo.InvariantCulture.Clone() as CultureInfo;
            ci.NumberFormat.NumberDecimalSeparator = ".";

            List<string> products = new List<string>();
            List<string> price = new List<string>();
            // Instantiate Amazon ProductAdvertisingAPI client
            AWSECommerceServicePortTypeClient amazonClient = new AWSECommerceServicePortTypeClient();

            for (int i = 1; i <= 6; i++)
            {
                // prepare an ItemSearch request
                ItemSearchRequest request = new ItemSearchRequest();
                request.SearchIndex = "All";
                //request.Title = "WCF";
                request.Keywords = "playstation -kindle";
                request.ResponseGroup = new string[] {"ItemAttributes", "Images"};
                request.ItemPage = i.ToString();

                ItemSearch itemSearch = new ItemSearch();
                itemSearch.Request = new ItemSearchRequest[] { request };
                itemSearch.AWSAccessKeyId = ConfigurationManager.AppSettings["accessKeyId"];
                itemSearch.AssociateTag = "testfo-20";

                // send the ItemSearch request
                ItemSearchResponse response = amazonClient.ItemSearch(itemSearch);

            }
        }
        public ItemSearchResponse ItemSearch(string SearchIndex, string[] Group, string Keywords)
        {
            BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);
            binding.MaxReceivedMessageSize = int.MaxValue;
            binding.MaxBufferSize = int.MaxValue;

            AWSECommerceServicePortTypeClient amazonClient = new AWSECommerceServicePortTypeClient(
                        binding,
                        new EndpointAddress("https://webservices.amazon.com/onca/soap?Service=AWSECommerceService"));
            // add authentication to the ECS client
            amazonClient.ChannelFactory.Endpoint.Behaviors.Add(new AmazonSigningEndpointBehavior(ConfigurationManager.AppSettings["accessKeyId"], ConfigurationManager.AppSettings["secretKey"]));

            ItemSearchRequest search = new ItemSearchRequest();
            search.SearchIndex = SearchIndex;
            search.ResponseGroup = Group;
            search.Keywords = Keywords;

            ItemSearch itemSearch = new ItemSearch();
            itemSearch.Request = new ItemSearchRequest[] { search };
            itemSearch.AWSAccessKeyId = ConfigurationManager.AppSettings["accessKeyId"];
            itemSearch.AssociateTag = ConfigurationManager.AppSettings["associateTag"];

            ItemSearchResponse response = amazonClient.ItemSearch(itemSearch);
            return response;
        }
        static void Main(string[] args)
        {
            // Instantiate Amazon ProductAdvertisingAPI client
            AWSECommerceServicePortTypeClient amazonClient = new AWSECommerceServicePortTypeClient();

            // prepare an ItemSearch request
            ItemSearchRequest request = new ItemSearchRequest
            {
                SearchIndex = "Books",
                Title = "WCF",
                ResponseGroup = new[] {"Small"}
            };

            ItemSearch itemSearch = new ItemSearch
            {
                Request = new[] {request},
                AWSAccessKeyId = ConfigurationManager.AppSettings["accessKeyId"],
                AssociateTag = "ReplaceWithYourValue"
            };

            // send the ItemSearch request
            ItemSearchResponse response = amazonClient.ItemSearch(itemSearch);

            // write out the results from the ItemSearch request
            foreach (var item in response.Items[0].Item)
            {
                Console.WriteLine(item.ItemAttributes.Title);
            }
            Console.WriteLine("done...enter any key to continue>");
            Console.ReadLine();
        }
Exemple #6
0
        public static void AmazonWCF()
        {
            // create a WCF Amazon ECS client
            BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);
            binding.MaxReceivedMessageSize = int.MaxValue;
            AWSECommerceServicePortTypeClient client = new AWSECommerceServicePortTypeClient(
                binding,
                new EndpointAddress("https://webservices.amazon.com/onca/soap?Service=AWSECommerceService"));

            // add authentication to the ECS client
            client.ChannelFactory.Endpoint.Behaviors.Add(new AmazonSigningEndpointBehavior(accessKeyId, secretKey));

            // prepare an ItemSearch request
            ItemSearchRequest request = new ItemSearchRequest();
            request.SearchIndex = "Electronics";
            request.Title = "Monitor";
            request.ResponseGroup = new string[] { "Small" };

            ItemSearch itemSearch = new ItemSearch();
            itemSearch.Request = new ItemSearchRequest[] { request };
            itemSearch.AWSAccessKeyId = accessKeyId;
            //itemSearch.AssociateTag = tab
            // issue the ItemSearch request
            ItemSearchResponse response = client.ItemSearch(itemSearch);

            // write out the results
            foreach (var item in response.Items[0].Item)
            {
                Console.WriteLine(item.ItemAttributes.Title);
            }
        }
Exemple #7
0
        public void addItemRecord()
        {
            NetSuiteService service = new NetSuiteService();
            service.CookieContainer = new CookieContainer();
            NetsuiteUser user = new NetsuiteUser("3451682", "*****@*****.**", "1026", "tridenT168");
            Passport passport = user.prepare(user);
            Status status = service.login(passport).status;

            string itemName = this.ItemName;

            SearchStringField objItemName = new SearchStringField();
            objItemName.searchValue = itemName;
            objItemName.@operator = SearchStringFieldOperator.@is;
            objItemName.operatorSpecified = true;
            ItemSearch objItemSearch = new ItemSearch();
            objItemSearch.basic = new ItemSearchBasic();
            objItemSearch.basic.itemId = objItemName;

            SearchPreferences searchPreferences = new SearchPreferences();
            searchPreferences.bodyFieldsOnly = false;
            service.searchPreferences = searchPreferences;

            SearchResult objItemResult = service.search(objItemSearch);

            if (objItemResult.status.isSuccess != true) throw new Exception("Cannot find Item " + itemName + " " + objItemResult.status.statusDetail[0].message);
            if (objItemResult.recordList.Count() != 1) throw new Exception("More than one item found for item " + itemName);

            InventoryItem iRecord = new InventoryItem();

            iRecord = ((InventoryItem)objItemResult.recordList[0]);

            this.itemRecord = new InventoryItem();
            this.itemRecord=iRecord;
        }
        public virtual List<ProductDTO> GetProducts(List<string> asinList)
        {
            var productsToReturn = new List<ProductDTO>();

            var allItemSearchRequests = new ItemSearchRequest[asinList.Count];

            for (int i = 0; i < asinList.Count; i++ )
            {
                allItemSearchRequests[i] = new ItemSearchRequest
                                               {
                                                   SearchIndex = "Books",
                                                   Power = ("asin:" + asinList[i]),
                                                   ResponseGroup = new[] {"Small"}
                                               };
            }

            //ItemSearchRequest can only be made in 2's
            var myItemSearchRequests = new ItemSearchRequest[2];

            bool isASINListOdd = (asinList.Count % 2 != 0);

            for (int i = 0; i < asinList.Count ; i++)
            {
                myItemSearchRequests[i%2] = allItemSearchRequests[i];

                if ((i != 0 && ((i + 1)%2 == 0)) || (isASINListOdd && asinList.Count == (i + 1)))
                {
                    var itemSearch = new ItemSearch
                                         {
                                             AWSAccessKeyId = awsAccessKeyId,
                                             AssociateTag = associateTag,
                                             Request = myItemSearchRequests
                                         };

                    var itemSearchResponse = AWSECommerceServiceInstance.AWSECommerceService.ItemSearch(itemSearch);

                    if (itemSearchResponse.Items == null)
                    {
                        if (itemSearchResponse.OperationRequest.Errors != null)
                        {
                            MapErrors(itemSearchResponse.OperationRequest.Errors);
                        }
                        break;
                    }

                    productsToReturn.AddRange(MapProducts(itemSearchResponse.Items));

                    myItemSearchRequests = new ItemSearchRequest[2];
                }
            }

            return productsToReturn;
        }
Exemple #9
0
    // perform the Amazon search with SOAP and return results as a DataTable
    public static DataTable GetAmazonDataWithSoap()
    {
        // Create Amazon objects
        AWSECommerceService amazonService = new AWSECommerceService();
        ItemSearch itemSearch = new ItemSearch();
        ItemSearchRequest itemSearchRequest = new ItemSearchRequest();
        ItemSearchResponse itemSearchResponse;
        // Setup Amazon objects
        itemSearch.SubscriptionId = BalloonShopConfiguration.SubscriptionId;
        itemSearchRequest.Keywords = BalloonShopConfiguration.SearchKeywords;
        itemSearchRequest.SearchIndex = BalloonShopConfiguration.SearchIndex;
        itemSearchRequest.ResponseGroup =
        BalloonShopConfiguration.ResponseGroups.Split(',');
        itemSearch.Request = new AmazonEcs.ItemSearchRequest[1] { itemSearchRequest };

        // Will store search results
        DataTable responseTable = GetResponseTable();
        // If any problems occur, we prefer to send back empty result set
        // instead of throwing exception
        try
        {
          itemSearchResponse = amazonService.ItemSearch(itemSearch);
          Item[] results = itemSearchResponse.Items[0].Item;
          // Browse the results
          foreach (AmazonEcs.Item item in results)
          {
        // product with incomplete information will be ignored
        try
        {

          //create a datarow, populate it and add it to the table
          DataRow dataRow = responseTable.NewRow();
          dataRow["ASIN"] = item.ASIN;
          dataRow["ProductName"] = item.ItemAttributes.Title;
          dataRow["ProductImageUrl"] = item.SmallImage.URL;
          dataRow["ProductPrice"] = item.OfferSummary.LowestNewPrice.
        FormattedPrice;
          responseTable.Rows.Add(dataRow);
        }
        catch
        {
          // Ignore products with incomplete information
        }
          }
        }
        catch (Exception e)
        {
          // ignore the error
        }
        // return the results
        return responseTable;
    }
Exemple #10
0
        public DataTable GetProducts(string productName)
        {
            DataTable products = new DataTable();
                products.Columns.Add("Product", typeof(string));
                products.Columns.Add("Price", typeof(string));
                products.Columns.Add("Image", typeof(string));
                products.Columns.Add("url", typeof(string));

                // Instantiate Amazon ProductAdvertisingAPI client
                AWSECommerceServicePortTypeClient amazonClient = new AWSECommerceServicePortTypeClient();
                for (int i = 1; i <= 5; i++)
                {

                    // prepare an ItemSearch request
                    ItemSearchRequest request = new ItemSearchRequest();
                    request.SearchIndex = "All";
                    request.Keywords = productName + " -kindle";
                    request.ResponseGroup = new string[] { "ItemAttributes", "Images"};
                    request.ItemPage = i.ToString();
                    request.Condition = Condition.New;
                    request.Availability = ItemSearchRequestAvailability.Available;

                    ItemSearch itemSearch = new ItemSearch();
                    itemSearch.Request = new ItemSearchRequest[] { request };
                    itemSearch.AWSAccessKeyId = ConfigurationManager.AppSettings["accessKeyId"];
                    itemSearch.AssociateTag = "testfo-20";

                    // send the ItemSearch request
                    ItemSearchResponse response = amazonClient.ItemSearch(itemSearch);

                    foreach (var item in response.Items[0].Item)
                    {
                        try
                        {

                                products.Rows.Add(item.ItemAttributes.Title, item.ItemAttributes.ListPrice.FormattedPrice.Replace("$", ""),item.SmallImage.URL, item.DetailPageURL);

                        }

                         catch (NullReferenceException ex) {
                           Debug.WriteLine("Caught Exception: " + ex.Message);
                           continue;
                        }

                    }

                }
                return products;
        }
Exemple #11
0
        public static List<System.Drawing.Image> SearchAlbumArt(string keywords)
        {
            try
            {
                keywords = CleanString(keywords);

                ItemSearchRequest itemRequest = new ItemSearchRequest();
                itemRequest.Keywords = keywords;
                // http://docs.amazonwebservices.com/AWSECommerceService/2009-02-01/DG/index.html?ItemLookup.html
                itemRequest.SearchIndex = "Music"; // Other possibly valid choices:Classical, DigitalMusic, Mp3Downloads, Music, MusicTracks,
                itemRequest.ResponseGroup = new string[] { "Images" }; // images only

                ItemSearch request = new ItemSearch();
                request.AWSAccessKeyId = Credentials.AmazonAccessKeyId;
                request.Request = new ItemSearchRequest[] { itemRequest };

                BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);
                binding.MaxReceivedMessageSize = int.MaxValue;

                AWSECommerceServicePortTypeClient client = new AWSECommerceServicePortTypeClient(binding, new EndpointAddress("https://webservices.amazon.com/onca/soap?Service=AWSECommerceService"));
                client.ChannelFactory.Endpoint.Behaviors.Add(new AmazonSigningEndpointBehavior(Credentials.AmazonAccessKeyId, Credentials.AmazonSecretKey));
                ItemSearchResponse response = client.ItemSearch(request);

                // Determine if book was found
                bool itemFound = ((response.Items[0].Item != null) && (response.Items[0].Item.Length > 0));

                if (itemFound)
                {
                    List<System.Drawing.Image> images = new List<System.Drawing.Image>();

                    foreach (Item currItem in response.Items[0].Item)
                    {
                        try
                        {
                            if (currItem != null && currItem.LargeImage != null)
                                images.Add(ConvertByteArrayToImage(GetBytesFromUrl(currItem.LargeImage.URL)));
                        }
                        catch { }
                    }

                    return images;
                }
            }
            catch (Exception) {}

            return null;
        }
        private static ItemSearch getItemSearch(string searchTerms, int page)
        {
            ItemSearchRequest request = new ItemSearchRequest();

            request.SearchIndex = SearchIndex;
            request.MerchantId = "All";
            request.Title = searchTerms;
            request.ResponseGroup = ResponseGroups;
            request.ItemPage = page.ToString();

            ItemSearch itemSearch = new ItemSearch();
            itemSearch.Request = new ItemSearchRequest[] { request };
            itemSearch.AWSAccessKeyId = AccessKeyId;
            itemSearch.AssociateTag = AssociateTag;

            return itemSearch;
        }
        private Items[] LookForArtistAndName(string iArtist, string iName)
        {
            ItemSearchRequest request = new ItemSearchRequest();
            request.SearchIndex = "Music";
            request.ResponseGroup = new string[] { "Medium", "Tracks" };
            request.Sort = "relevancerank";
            request.Title = iName;
            request.Artist = iArtist;
         
            ItemSearch itemSearch = new ItemSearch();
            itemSearch.Request = new ItemSearchRequest[] { request };
            //itemSearch.AWSAccessKeyId = ConfigurationManager.AppSettings["accessKeyId"];
            itemSearch.AWSAccessKeyId = _IWebServicesManager.AmazonaccessKeyId;
            itemSearch.AssociateTag = string.Empty;

            // send the ItemSearch request
            ItemSearchResponse response = _AmazonClient.ItemSearch(itemSearch);
            return response.Items;
        }
        //returns response from Amazon search request
        public static ItemSearchResponse search(ItemSearchRequest request)
        {
            // create a WCF Amazon ECS client
            BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);
            binding.MaxReceivedMessageSize = int.MaxValue;
            AWSECommerceServicePortTypeClient client = new AWSECommerceServicePortTypeClient(binding,
                    new EndpointAddress("https://webservices.amazon.com/onca/soap?Service=AWSECommerceService"));

            // add authentication to the ECS client
            client.ChannelFactory.Endpoint.Behaviors.Add(new AmazonSigningEndpointBehavior(Globals.ACCESS_KEY_ID, Globals.SECRET_KEY));

            ItemSearch itemSearch = new ItemSearch();
            itemSearch.Request = new ItemSearchRequest[] { request };
            itemSearch.AWSAccessKeyId = Globals.ACCESS_KEY_ID;
            itemSearch.AssociateTag = "";

            // issue the ItemSearch request
            return client.ItemSearch(itemSearch);
        }
Exemple #15
0
        public AWSHelper(string ENDPOINT, string MY_AWS_ACCESS_KEY_ID, string MY_AWS_SECRET_KEY, string NAMESPACE)
        {
            // Constructor to populate responseItems
            // Accepts various standard AWS parameters and search string

            // Basic HTTP binding
            BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);
            binding.MaxReceivedMessageSize = int.MaxValue;

            // Client
            client = new AWSECommerceServicePortTypeClient(
                binding, new EndpointAddress(ENDPOINT));
            client.ChannelFactory.Endpoint.Behaviors.Add(
                new AmazonSigningEndpointBehavior(MY_AWS_ACCESS_KEY_ID, MY_AWS_SECRET_KEY, NAMESPACE));

            // ItemSearchREquest
            request = new ItemSearchRequest();
            request.ResponseGroup = new string[] { "Medium" };

            itemSearch = new ItemSearch();
            itemSearch.AWSAccessKeyId = MY_AWS_ACCESS_KEY_ID;
        }
        public async Task<Item[]> FindItemsAsync(ItemCategory category, string keywords) {
            var itemSearch = new ItemSearch {
                AssociateTag = _associateTag,
                AWSAccessKeyId = _accessKey,
                Request = new ItemSearchRequest[] { 
                    new ItemSearchRequest {
                        SearchIndex = Enum.GetName(typeof(ItemCategory), category),
                        Keywords = keywords,
                        ItemPage = "1",
                        ResponseGroup = new string[] { "Images", "ItemAttributes" }
                    }
                }
            };
            var searchResult = await _amazonClient.ItemSearchAsync(new ItemSearchRequest1 { ItemSearch = itemSearch });

            var items = searchResult.ItemSearchResponse.Items[0].Item;

            if (items == null) {
                return new Item[0];
            }

            return items.Select(item => ToRetailerItem(item)).ToArray();
        }
Exemple #17
0
        private async void SearchName()
        {
            var search = _clienteService.SearchName(ItemSearch.ToLower());

            if (search.Count > 0)
            {
                ListClients = search;
            }
            else
            {
                if (reference == 0)
                {
                    await _pageDialog.DisplayAlertAsync("Atenção", "Não foi encontrado nada com esse resultado", "OK");

                    ListClients = search;
                }
                else
                {
                    ListClients = search;
                    reference   = 0;
                }
            }
        }
        private static ItemSearchResponse AmazonRequestByPage(string Keyword, int page, string SearchIndex)
        {
            #region Set Amazon Search parameters
            ItemSearch search = new ItemSearch();
            //replace these with your account info
            search.AssociateTag = "X";
            string accessKeyId = "X";
            string secretKey   = "X";

            ItemSearchRequest req = new ItemSearchRequest();

            req.ResponseGroup = new string[] { "Medium" };
            req.SearchIndex   = SearchIndex;

            req.ItemPage = Convert.ToString(page);
            req.Keywords = Keyword;

            req.Availability = ItemSearchRequestAvailability.Available;
            search.Request   = new ItemSearchRequest[] { req };


            Amazon.AWSECommerceServicePortTypeClient amzwc = new Amazon.AWSECommerceServicePortTypeClient();
            amzwc.ChannelFactory.Endpoint.EndpointBehaviors.Add(new AmazonSigningEndpointBehavior(accessKeyId, secretKey));

            try
            {
                ItemSearchResponse resp = amzwc.ItemSearch(search);
                return(resp);
            }
            catch (Exception ex)
            {
                ItemSearchResponse resp = null;
                return(resp);
            }

            #endregion
        }
Exemple #19
0
        static void Main(string[] args)
        {
            if (args.Length < 1)
            {
                Console.WriteLine("AmazonTest [keyword]");
                return;
            }

            AWSECommerceService service = new AWSECommerceService();

            ItemSearchRequest req = new ItemSearchRequest();

            req.Keywords      = args[0];
            req.SearchIndex   = "Books";
            req.ResponseGroup = new string[] { "ItemAttributes" };
            req.ItemPage      = "1";

            ItemSearch search = new ItemSearch();

            search.AWSAccessKeyId = "xxx";
            search.Request        = new ItemSearchRequest[] { req };

            ItemSearchResponse res = service.ItemSearch(search);

            if (res.Items[0].Request.Errors != null)
            {
                Console.WriteLine("error:{0}", res.Items[0].Request.Errors[0].Message);
            }

            if (res.Items[0].Item != null)
            {
                foreach (Item item in res.Items[0].Item)
                {
                    Console.WriteLine("title:{0}", item.ItemAttributes.Title);
                }
            }
        }
Exemple #20
0
        public static Activity AmazonSearch(Activity activity, string searchTerm)
        {
            var accessKeyId = "AKIAIOXGBEXN4SPR5PYQ";
            var secretKey   = "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";

            //var client = new AWSECommerceServicePortTypeClient();
            //client.ChannelFactory.Endpoint.Behaviors.Add(new Amazon.AmazonSigningEndpointBehavior(accessKeyId, secretKey));

            var binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport)
            {
                MaxReceivedMessageSize = int.MaxValue
            };

            var client = new AWSECommerceServicePortTypeClient(binding, new EndpointAddress("https://webservices.amazon.com/onca/soap?Service=AWSECommerceService"));

            // add authentication to the ECS client
            client.ChannelFactory.Endpoint.Behaviors.Add(new AmazonSigningEndpointBehavior(accessKeyId, secretKey));

            var lookup  = new ItemSearch();
            var request = new ItemSearchRequest();

            lookup.AssociateTag   = accessKeyId;
            lookup.AWSAccessKeyId = secretKey;
            request.Keywords      = searchTerm;
            var response = client.ItemSearch(lookup);


            var sb = new StringBuilder();

            sb.AppendLine($"Hello {activity.From.Name} - Amazon Search results for {searchTerm}." + Environment.NewLine);

            var reply = activity.CreateReply(sb.ToString());

            reply.Type = "message";
            return(reply);
        }
Exemple #21
0
        static void Main(string[] args)
        {
            // Instantiate Amazon ProductAdvertisingAPI client
            BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);

            binding.MaxReceivedMessageSize = int.MaxValue;
            AWSECommerceServicePortTypeClient amazonClient = new AWSECommerceServicePortTypeClient(
                binding,
                new EndpointAddress("https://webservices.amazon.com/onca/soap?Service=AWSECommerceService"));

            //Adding this uses the code in Amazon.PAAPI.WCF to sign requests automagically
            amazonClient.ChannelFactory.Endpoint.Behaviors.Add(new AmazonSigningEndpointBehavior());

            // prepare an ItemSearch request
            ItemSearchRequest request = new ItemSearchRequest();

            request.SearchIndex   = "DVD";
            request.Title         = "Matrix";
            request.ResponseGroup = new string[] { "Small" };

            ItemSearch itemSearch = new ItemSearch();

            itemSearch.Request      = new ItemSearchRequest[] { request };
            itemSearch.AssociateTag = "notag"; //this is a required param, so I just use a dummy value which seems to work

            // send the ItemSearch request
            ItemSearchResponse response = amazonClient.ItemSearch(itemSearch);

            // write out the results from the ItemSearch request
            foreach (var item in response.Items[0].Item)
            {
                Console.WriteLine(item.ItemAttributes.Title);
            }
            Console.WriteLine("\n\n<<< done...enter any key to continue >>>");
            Console.ReadLine();
        }
Exemple #22
0
        public List <ItemSearch> GetItemsSearch(string companyId, string categoryId)
        {
            string aQuery = "SELECT I.ItemName,C.Name as CompanyName, S.AvailableQuantity,S.AvailableQuantity as Qty,I.ReorderLevel FROM ItemSetup I left outer join StockIn S on S.itemId = I.Sl left outer join Company C on C.Sl = I.CompanyName left outer join CategorySetup CA on CA.Sl = I.CategoryName WHERE C.Sl = '" + companyId + "'  or CA.Sl = '" + categoryId + "' ";

            Command = new SqlCommand(aQuery, Connection);
            Connection.Open();
            Reader = Command.ExecuteReader();
            List <ItemSearch> Itemlist = new List <ItemSearch>();

            while (Reader.Read())
            {
                ItemSearch item = new ItemSearch();
                item.AvailableQuantity = Convert.ToInt32(Reader["AvailableQuantity"]);
                item.CompanyName       = Reader["CompanyName"].ToString();
                item.ItemName          = Reader["ItemName"].ToString();
                item.Quantity          = Convert.ToInt32(Reader["AvailableQuantity"]);
                item.ReorderLevel      = Convert.ToInt32(Reader["ReorderLevel"]);

                Itemlist.Add(item);
            }

            Connection.Close();
            return(Itemlist);
        }
Exemple #23
0
        static void Main(string[] args)
        {
            if (args.Length < 1)
            {
                Console.WriteLine("AmazonTest [keyword]");
                return;
            }

            AWSECommerceService service = new AWSECommerceService();

            ItemSearchRequest req = new ItemSearchRequest();
            req.Keywords = args[0];
            req.SearchIndex = "Books";
            req.ResponseGroup = new string[] {"ItemAttributes"};
            req.ItemPage = "1";

            ItemSearch search = new ItemSearch();
            search.AWSAccessKeyId = "xxx";
            search.Request = new ItemSearchRequest[] { req };

            ItemSearchResponse res = service.ItemSearch(search);

            if (res.Items[0].Request.Errors != null)
            {
                Console.WriteLine("error:{0}", res.Items[0].Request.Errors[0].Message);
            }

            if (res.Items[0].Item != null)
            {
                foreach (Item item in res.Items[0].Item)
                {
                    Console.WriteLine("title:{0}", item.ItemAttributes.Title);
                }
            }
            
        }
Exemple #24
0
        public ItemSearchResponse ItemSearch(string ItemPage, string SearchIndex, string[] ResponseGroup, string Title)
        {
            // BasicHttpBinding configuration
            BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);

            binding.MaxReceivedMessageSize = int.MaxValue;
            binding.MaxBufferSize          = int.MaxValue;

            // create a WCF Amazon ECS client
            AWSECommerceServicePortTypeClient client = new AWSECommerceServicePortTypeClient(
                binding,
                new EndpointAddress("https://webservices.amazon.com/onca/soap?Service=AWSECommerceService"));

            // add authentication to the ECS client
            client.ChannelFactory.Endpoint.Behaviors.Add(new AmazonSigningEndpointBehavior(accessKeyId, secretKey));

            // prepare an ItemSearchRequest
            ItemSearchRequest request = new ItemSearchRequest();

            request.SearchIndex   = SearchIndex;
            request.ResponseGroup = ResponseGroup;
            request.Title         = Title;
            request.ItemPage      = ItemPage;

            // prepare an ItemSearch
            ItemSearch search = new ItemSearch();

            search.Request        = new ItemSearchRequest[] { request };
            search.AWSAccessKeyId = accessKeyId;
            search.AssociateTag   = "http://affiliate-program.amazon.com/";

            //get ItemSearchResponse
            ItemSearchResponse response = client.ItemSearch(search);

            return(response);
        }
        // the program starts here
        static void Main(string[] args)
        {
            // create a WCF Amazon ECS client
            BasicHttpBinding binding		= new BasicHttpBinding(BasicHttpSecurityMode.Transport);
            binding.MaxReceivedMessageSize	= int.MaxValue;
            AWSECommerceServicePortTypeClient client = new AWSECommerceServicePortTypeClient(
                binding,
                new EndpointAddress("https://webservices.amazon.com/onca/soap?Service=AWSECommerceService"));

            // add authentication to the ECS client
            client.ChannelFactory.Endpoint.Behaviors.Add(new AmazonSigningEndpointBehavior(accessKeyId, secretKey));

            ItemLookupRequest request2 = new ItemLookupRequest();
            request2.ItemId = new String[] { "2817801997" };
            request2.IdType = ItemLookupRequestIdType.ISBN;
            request2.ResponseGroup = new String[] { "Medium" };
            request2.IdTypeSpecified = true;
            request2.SearchIndex = "Books";

            ItemLookup itemLookup = new ItemLookup();
            itemLookup.Request = new ItemLookupRequest[] { request2 };
            itemLookup.AWSAccessKeyId = accessKeyId;
            itemLookup.AssociateTag = "213";

            ItemLookupResponse response2 = client.ItemLookup(itemLookup);

            foreach (var item in response2.Items[0].Item) {
                // Create a web request to the URL for the picture
                System.Net.WebRequest webRequest = HttpWebRequest.Create(item.MediumImage.URL);
                // Execute the request synchronuously
                HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();

                // Create an image from the stream returned by the web request
                //pCover.Image = new System.Drawing.Bitmap(webResponse.GetResponseStream());

                // Finally, close the request
                webResponse.Close();
                Console.WriteLine(item.ItemAttributes.Title);
            }

            // prepare an ItemSearch request
            ItemSearchRequest request	= new ItemSearchRequest();
            request.SearchIndex			= "Books";
            request.Title				= "Node.js";
            request.ResponseGroup 		= new string[] { "Small" };

            ItemSearch itemSearch		= new ItemSearch();
            itemSearch.Request			= new ItemSearchRequest[] { request };
            //itemSearch.AssociateTag 	= "testsite09f-21";
            itemSearch.AssociateTag 	= "213";
            itemSearch.AWSAccessKeyId	= accessKeyId;

            // issue the ItemSearch request
            ItemSearchResponse response	= client.ItemSearch(itemSearch);

            // write out the results
            foreach (var item in response.Items[0].Item) {
                Console.WriteLine(item.ItemAttributes.Title);
            }
            Console.ReadLine();
        }
Exemple #26
0
        public static ProductsPages ItemSearchRequestResult(string title, int webPage, int itemPerPage)
        {
            BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);

            binding.MaxReceivedMessageSize = int.MaxValue;
            binding.MaxBufferSize          = int.MaxValue;

            // create a WCF Amazon ECS client
            AWSECommerceServicePortTypeClient client = new AWSECommerceServicePortTypeClient(
                binding,
                new EndpointAddress("https://webservices.amazon.com/onca/soap?Service=AWSECommerceService"));

            // add authentication to the ECS client
            client.ChannelFactory.Endpoint.Behaviors.Add(new AmazonSigningEndpointBehavior(accessKeyId, secretKey));

            // prepare an ItemSearch request

            ItemSearchRequest searchRequest = new ItemSearchRequest();

            searchRequest.SearchIndex   = "Books";
            searchRequest.Title         = title;
            searchRequest.ResponseGroup = new string[] { "ItemAttributes", "Offers" };

            ItemSearch itemSearch = new ItemSearch();

            itemSearch.Request        = new ItemSearchRequest[] { searchRequest };
            itemSearch.AWSAccessKeyId = accessKeyId;
            itemSearch.AssociateTag   = "http://affiliate-program.amazon.com/";

            int skip = (webPage - 1) * itemPerPage;
            int startPage;

            if ((skip % 10) <= 2 && (skip % 10) != 0)
            {
                startPage = webPage + 1;
            }
            else
            {
                startPage = webPage;
            }
            int           startItem    = skip % 10;
            ProductsPages productPages = new ProductsPages();

            for (int page = startPage; page <= 10; page++)
            {
                searchRequest.ItemPage = Convert.ToString(page);
                ItemSearchResponse searchResponse = client.ItemSearch(itemSearch);
                int totalPages = Convert.ToInt32(searchResponse.Items[0].TotalPages);
                if (totalPages < 10)
                {
                    productPages.Pages = totalPages;
                }
                else
                {
                    productPages.Pages = 10;
                }
                if (searchResponse.Items[0].Item != null)
                {
                    for (int i = startItem; i < searchResponse.Items[0].Item.Length; i++)
                    {
                        if (itemPerPage > 0)
                        {
                            var item = searchResponse.Items[0].Item[i];

                            Debug.WriteLine("{0}\t{1}\tpage:{2}\titem:{3}", item.ItemAttributes.Title, Convert.ToDecimal(item.OfferSummary.LowestNewPrice.Amount) / 100, page, i);
                            Product currentProduct = new Product()
                            {
                                Title = item.ItemAttributes.Title,
                                Price = Convert.ToDecimal(item.OfferSummary.LowestNewPrice.Amount) / 100
                            };
                            productPages.Products.Add(currentProduct);
                            itemPerPage--;
                        }
                        else
                        {
                            break;
                        }
                    }
                    startItem = 0;
                    Thread.Sleep(1000); //Amazon can ask requests only once per second
                }
            }
            return(productPages);
        }
        protected override Id3Tag[] GetTagInfo(Id3Tag tag)
        {
            var request = new ItemSearchRequest {
                SearchIndex   = "Music",
                Keywords      = tag.Artists.Value + " " + tag.Title.Value,
                ResponseGroup = new[] { "Small", "Images" }
            };

            var itemSearch = new ItemSearch {
                AWSAccessKeyId = "1YY0CZVHA1BX3BEV5H82",
                AssociateTag   = "knanamusin-20",
                Request        = new[] { request }
            };

            ItemSearchResponse response;
            var service = new AWSECommerceService();

            try
            {
                response = service.ItemSearch(itemSearch);
            }
            catch (SoapException)
            {
                return(Id3Tag.Empty);
            }
            finally
            {
                service.Dispose();
            }

            if (response == null || response.Items == null || response.Items.Length == 0)
            {
                return(Id3Tag.Empty);
            }
            Item[] items = response.Items[0].Item;
            if (items == null || items.Length == 0)
            {
                return(Id3Tag.Empty);
            }

            var results = new List <Id3Tag>(items.Length);

            foreach (Item item in items)
            {
                var result = new Id3Tag();
                result.Album.Value = item.ItemAttributes.Title;
                IList <string> artists;
                if (item.ItemAttributes.Artist == null || item.ItemAttributes.Artist.Length == 0)
                {
                    artists = tag.Artists.Value;
                }
                else
                {
                    artists = item.ItemAttributes.Artist;
                }
                foreach (string artist in artists)
                {
                    result.Artists.Value.Add(artist);
                }
                result.Publisher.Value = item.ItemAttributes.Manufacturer;
                result.PaymentUrl.Url  = item.DetailPageURL;

                if (item.LargeImage != null)
                {
                    PictureFrame picture = Utility.GetPicture(item.LargeImage.URL);
                    if (picture != null)
                    {
                        result.Pictures.Add(picture);
                    }
                }

                if (item.MediumImage != null)
                {
                    PictureFrame picture = Utility.GetPicture(item.MediumImage.URL);
                    if (picture != null)
                    {
                        result.Pictures.Add(picture);
                    }
                }

                if (item.SmallImage != null)
                {
                    PictureFrame picture = Utility.GetPicture(item.SmallImage.URL);
                    if (picture != null)
                    {
                        result.Pictures.Add(picture);
                    }
                }

                results.Add(result);
            }

            return(results.ToArray());
        }
Exemple #28
0
        private static void GetArtistCredits(Artist artist, AmazonIndex index, AmazonCountry country, int pageIndex)
        {
            ItemSearch        itemsearch = new ItemSearch();
            ItemSearchRequest request    = new ItemSearchRequest();

            request.SearchIndex = index.ToString();
            request.ItemPage    = pageIndex.ToString(CultureInfo.InvariantCulture);
            EntityType entityType = EntityType.Music;

            switch (index)
            {
            case AmazonIndex.Books:
                request.Author = artist.FulleName;
                entityType     = EntityType.Books;
                break;

            case AmazonIndex.Music:
                request.Artist = artist.FulleName;
                entityType     = EntityType.Music;
                break;
            }

            request.ResponseGroup     = new [] { "Small" };
            itemsearch.Request        = new [] { request };
            itemsearch.AWSAccessKeyId = Aws1;
            itemsearch.AssociateTag   = AssociateTag;

            AWSECommerceServicePortTypeClient client =
                new AWSECommerceServicePortTypeClient(
                    new BasicHttpBinding("AWSECommerceServiceBinding"),
                    new EndpointAddress(string.Format("https://webservices.amazon.{0}/onca/soap?Service=AWSECommerceService", country.ToString())));

            // add authentication to the ECS client
            client.ChannelFactory.Endpoint.Behaviors.Add(new AmazonSigningEndpointBehavior(Aws1, Aws2));
            try
            {
                ItemSearchResponse response = client.ItemSearch(itemsearch);
                if (response.Items.GetLength(0) > 0)
                {
                    if (response.Items[0].Item != null)
                    {
                        foreach (Item item in response.Items[0].Item)
                        {
                            if (artist.ArtistCredits.Any(c => c.Title.ToUpperInvariant() == item.ItemAttributes.Title.ToUpperInvariant()) == false)
                            {
                                ArtistCredits credit = new ArtistCredits();
                                credit.Title = item.ItemAttributes.Title;
                                #region Released
                                if (string.IsNullOrWhiteSpace(item.ItemAttributes.ReleaseDate) == false)
                                {
                                    DateTime date;
                                    if (DateTime.TryParse(item.ItemAttributes.ReleaseDate, out date) == true)
                                    {
                                        credit.ReleaseDate = date;
                                    }
                                }
                                else if (string.IsNullOrWhiteSpace(item.ItemAttributes.PublicationDate) == false)
                                {
                                    DateTime date;
                                    if (DateTime.TryParse(item.ItemAttributes.PublicationDate, out date) == true)
                                    {
                                        credit.ReleaseDate = date;
                                    }
                                }
                                #endregion
                                credit.EntityType = entityType;
                                // credit.BuyLink = item.DetailPageURL;

                                //  credit.BuyLink = string.Format(@"http://www.amazon.{0}/gp/aws/cart/add.html?ASIN.1={1}&AWSAccessKeyId={2}&AssociateTag={3}",
                                //                              country.ToString(), item.ASIN, Aws1,AssociateTag);

                                credit.BuyLink = string.Format(@"http://www.amazon.{0}/exec/obidos/ASIN/{1}/{2}/", country, item.ASIN, AssociateTag);

                                #region Description
                                if (item.EditorialReviews != null)
                                {
                                    string description = string.Empty;
                                    foreach (EditorialReview edito in item.EditorialReviews)
                                    {
                                        if (edito.Content.Length > description.Length && edito.IsLinkSuppressed == false)
                                        {
                                            description = edito.Content;
                                            break;
                                        }
                                    }
                                    credit.Notes = Util.PurgeHtml(description);
                                }
                                #endregion

                                artist.ArtistCredits.Add(credit);
                            }
                        }

                        int totalpage;
                        if (int.TryParse(response.Items[0].TotalPages, out totalpage))
                        {
                            if (pageIndex < totalpage)
                            {
                                pageIndex++;
                                GetArtistCredits(artist, index, country, pageIndex);
                            }
                        }
                    }
                }
            }
            catch (ServerTooBusyException)
            {
            }
        }
Exemple #29
0
        public bool SearchForMovie(string movieName, int maxResults)
        {
            _locale = AmazonLocale.FromString(Properties.Settings.Default.AmazonLocale);

            BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);

            binding.MaxReceivedMessageSize = int.MaxValue;

            client = new AWSECommerceServicePortTypeClient(
                binding, new EndpointAddress(_locale.URL)
                );

            client.ChannelFactory.Endpoint.Behaviors.Add(new AmazonSigningEndpointBehavior());

            try
            {
                ItemSearchRequest req = new ItemSearchRequest();
                req.SearchIndex   = Properties.Settings.Default.AmazonSearchMode;
                req.Title         = movieName;
                req.ItemPage      = @"1";
                req.ResponseGroup = new string[] { "Medium", "Subjects" };

                ItemSearch iSearch = new ItemSearch();
                iSearch.Request        = new ItemSearchRequest[] { req };
                iSearch.AWSAccessKeyId = Properties.Settings.Default.AWEAccessKeyId;

                ItemSearchResponse res = client.ItemSearch(iSearch);
                if (res.Items[0].Item.Length > 0)
                {
                    Item[] amazonItems    = res.Items[0].Item;
                    int    itemsToProcess = Math.Min(amazonItems.Length, maxResults);

                    if (amazonItems != null)
                    {
                        // convert Amazon Items to generic collection of DVDs
                        OMLSDKTitle[] searchResults = new OMLSDKTitle[itemsToProcess];


                        for (int i = 0; i < itemsToProcess; i++)
                        {
                            searchResults[i] = AmazonToOML.TitleFromAmazonItem(amazonItems[i]);
                        }
                        int totalPages = 0;
                        int totalItems = 0;
                        if (res.Items[0].TotalPages != null)
                        {
                            totalPages = Convert.ToInt32(res.Items[0].TotalPages);
                        }
                        if (res.Items[0].TotalResults != null)
                        {
                            totalItems = Convert.ToInt32(res.Items[0].TotalResults);
                        }

                        _searchResult = (new AmazonSearchResult(searchResults, totalPages, totalItems));
                    }
                    else
                    {
                        _searchResult = (new AmazonSearchResult(null, 0, 0));
                    }

                    return(true);
                }
            }
            catch
            {
                _searchResult = (new AmazonSearchResult(null, 0, 0));
            }

            return(false);
        }
Exemple #30
0
        // TODO: maybe return tuples instead
        public static ResponseContainer AWSQuery(String keywords, String group = "All", int page = 1, int perPage = 10, bool fetchAll = false)
        {
            ItemSearch search0 = new ItemSearch();

            search0.AWSAccessKeyId = awsAccessKeyId;
            search0.AssociateTag   = associateTag;

            // Search request
            ItemSearchRequest request0 = new ItemSearchRequest();

            request0.ResponseGroup = new string[] { "ItemAttributes, Images, OfferSummary, Offers, OfferFull" };
            request0.SearchIndex   = group;
            request0.Keywords      = keywords;

            ResponseContainer returnData = new ResponseContainer();
            int p     = page;
            int skip  = 0;
            int nulls = 0; // Send error if more than 6 null responses

            if (p > 1)
            { // Api always returns 10 items
                p--;
                string s  = perPage.ToString();
                string s1 = s.Substring(s.Length - 1, 1);
                int.TryParse(s1, out skip);
            }
            while (true)
            {
                Debug.WriteLine("So far {0} items", returnData.products.Count);
                Debug.WriteLine("Sleeping thread for 8 seconds.");
                Thread.Sleep(8000); // Necessary, app wont work without this
                Debug.WriteLine("Resuming thread.");
                request0.ItemPage = p.ToString();
                search0.Request   = new ItemSearchRequest[] { request0 };
                ItemSearchResponse response0 = new ItemSearchResponse();
                try
                {
                    response0 = client.ItemSearch(search0);
                }
                catch (ServerTooBusyException)
                {
                    returnData.error = "Amazon server busy.";
                    break;
                }
                if (nulls >= 6)
                {
                    returnData.error = "Amazon server returned null.";
                    break;
                }

                if (response0.Items == null) // sometimes is null
                {
                    Debug.WriteLine("ITEMS property was null - skipped loop");
                    nulls++;
                    continue;
                }
                foreach (Items items in response0.Items)
                {
                    if (items.Item == null) // sometimes is null
                    {
                        Debug.WriteLine("ITEM property was null - skipped loop");
                        nulls++;
                        continue;
                    }
                    foreach (Item item in items.Item)
                    {
                        string title     = item.ItemAttributes.Title;
                        string listPrice = "Failed to fetch";
                        try
                        {
                            listPrice = TrimDollarSign(item.OfferSummary.LowestNewPrice.FormattedPrice);
                        }
                        catch (NullReferenceException)
                        {
                            Debug.WriteLine("NullReferenceException at Listprice");
                        }
                        string imageURL = "";
                        try
                        {
                            imageURL = item.LargeImage.URL;
                        }
                        catch (NullReferenceException)
                        {
                            Debug.WriteLine("NullReferenceException at ImageURL");
                        }
                        string pageURL = item.DetailPageURL;

                        if (skip <= 0)
                        {
                            returnData.products.Add(new Product(title, listPrice, imageURL, pageURL));
                            Debug.WriteLine("Reached adding part");
                        }
                        else
                        {
                            skip--;
                        }

                        if (returnData.products.Count >= perPage)
                        {
                            break;
                        }
                    }
                    if (returnData.products.Count >= perPage)
                    {
                        break;
                    }
                }
                p += 1;

                if (returnData.products.Count >= perPage)
                {
                    returnData.totalResults = (int.Parse(response0.Items[0].TotalResults) / perPage) - 1;
                    break;
                }
            }
            return(returnData);
        }
        public ItemSearchResponse SearchItem(ItemSearchRequest itemSearchRequest, string[] responseGroup)
        {
            itemSearchRequest.ResponseGroup = responseGroup;

            ItemSearch itemSearch = new ItemSearch();
            itemSearch.Request = new ItemSearchRequest[] { itemSearchRequest };
            itemSearch.AWSAccessKeyId = AccessKeyId;
            itemSearch.AssociateTag = AssociateTag;

            using (AWSECommerceServicePortTypeClient client =
                                    new AWSECommerceServicePortTypeClient(_BasicHttpBinding, _EndPointAddress))
            {
                client.ChannelFactory.Endpoint.Behaviors.Add(new AmazonSigningEndpointBehavior(AccessKeyId, SecretKey));

                return client.ItemSearch(itemSearch);
            }
        }
        public string addBin(InventoryBin itemBin)
        {
            NetSuiteService service = new NetSuiteService();
            service.CookieContainer = new CookieContainer();
            NetsuiteUser user = new NetsuiteUser("3451682", "*****@*****.**", "1026", "tridenT168");
            Passport passport = user.prepare(user);
            Status status = service.login(passport).status;

            SearchStringField objItemName = new SearchStringField();
            objItemName.searchValue = itemBin.InventoryItem.ItemName;
            objItemName.@operator = SearchStringFieldOperator.@is;
            objItemName.operatorSpecified = true;
            ItemSearch objItemSearch = new ItemSearch();
            objItemSearch.basic = new ItemSearchBasic();
            objItemSearch.basic.itemId = objItemName;
            SearchResult objItemResult = service.search(objItemSearch);

            if (objItemResult.status.isSuccess != true)
            {
                Console.WriteLine("Cannot find Item " + itemBin.InventoryItem.ItemName + " " + objItemResult.status.statusDetail[0].message);
                return "Cannot find Item " + itemBin.InventoryItem.ItemName + " " + objItemResult.status.statusDetail[0].message;
            }
            if (objItemResult.recordList.Count() != 1)
            {
                Console.WriteLine("More than one item found for item " + itemBin.InventoryItem.ItemName);
                return "More than one item found for item " + itemBin.InventoryItem.ItemName;
            }

            SearchStringField objBinNumber = new SearchStringField();
            objBinNumber.searchValue = itemBin.BinNumber;
            objBinNumber.@operator = SearchStringFieldOperator.@is;
            objBinNumber.operatorSpecified = true;
            BinSearch objBinSearch = new BinSearch();
            objBinSearch.basic = new BinSearchBasic();
            objBinSearch.basic.binNumber = objBinNumber;
            SearchResult objBinResult = service.search(objBinSearch);

            if (objBinResult.status.isSuccess == false)
            {
                Console.WriteLine("Unable to find bin " + itemBin.BinNumber + " in NetSuite");
                return "Unable to find bin " + itemBin.BinNumber + " in NetSuite";
            }
            if (objItemResult.recordList.Count() != 1)
            {
                Console.WriteLine("More than one bin found for " + itemBin.BinNumber);
                return "More than one bin found for " + itemBin.BinNumber;
            }
            if (((Bin)objBinResult.recordList[0]).isInactive)
            {
                Console.WriteLine("Bin Number " + itemBin.BinNumber + " is inactive in NetSuite");
                return "Bin Number " + itemBin.BinNumber + " is inactive in NetSuite";
            }

            RecordRef objAddBin = new RecordRef();
            objAddBin.type = RecordType.bin;
            objAddBin.typeSpecified = true;
            objAddBin.internalId = ((Bin)objBinResult.recordList[0]).internalId;
            objAddBin.name = ((Bin)objBinResult.recordList[0]).binNumber;

            InventoryItemBinNumber objItemBinNumber = new InventoryItemBinNumber();
            objItemBinNumber.location = ((Bin)objBinResult.recordList[0]).location.internalId;
            objItemBinNumber.binNumber = objAddBin;

            InventoryItemBinNumber[] objItemBinNumbers = new InventoryItemBinNumber[1];
            objItemBinNumbers[0] = objItemBinNumber;

             if(((InventoryItem)objItemResult.recordList[0]).useBins==true)
                    {

                    //Initialize item to update
                    InventoryItem objInventoryItem = new InventoryItem();
                    objInventoryItem.internalId = ((InventoryItem)objItemResult.recordList[0]).internalId;
                    objInventoryItem.salesDescription = ((InventoryItem)objItemResult.recordList[0]).salesDescription;
                    objInventoryItem.purchaseDescription = ((InventoryItem)objItemResult.recordList[0]).purchaseDescription;

                    objInventoryItem.binNumberList = new InventoryItemBinNumberList();
                    objInventoryItem.binNumberList.binNumber = objItemBinNumbers;
                    objInventoryItem.binNumberList.replaceAll = false;

                    //Request to update item with bins

                    WriteResponse objWriteResponse = service.update(objInventoryItem);

                    if (objWriteResponse.status.isSuccess != true)
                    {
                        Console.WriteLine(objWriteResponse.status.statusDetail[0].message);
                        return objWriteResponse.status.statusDetail[0].message;
                    }

                    Console.WriteLine("Bins successfully updated for: "+((InventoryItem)objItemResult.recordList[0]).itemId);
                    return "Bins successfully updated for: " + ((InventoryItem)objItemResult.recordList[0]).itemId;
                    }
             return string.Empty;
        }
        public async Task<SongData> getData(SongData newSong, string fullRequest)
        {
            try
            {
                // Instantiate Amazon ProductAdvertisingAPI client
                BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);
                binding.MaxReceivedMessageSize = int.MaxValue;
                AWSECommerceServicePortTypeClient amazonClient = new AWSECommerceServicePortTypeClient(
                binding,
                new EndpointAddress("https://webservices.amazon.com/onca/soap?Service=AWSECommerceService"));

                // add authentication to the ECS client
                amazonClient.ChannelFactory.Endpoint.Behaviors.Add(new AmazonSigningEndpointBehavior(accessKeyId, secretKey));

                // prepare an ItemSearch request
                ItemSearchRequest request = new ItemSearchRequest();
                request.SearchIndex = "MP3Downloads";
                request.RelationshipType = new string[] { "Tracks" };
                request.ResponseGroup = new string[] { "ItemAttributes", "Images", "Offers", "RelatedItems" };

                request.Keywords = fullRequest;

                ItemSearch itemSearch = new ItemSearch();
                itemSearch.Request = new ItemSearchRequest[] { request };
                itemSearch.AWSAccessKeyId = accessKeyId;
                itemSearch.AssociateTag = "1330-3170-0573";

                // send the ItemSearch request
                ItemSearchResponse response = amazonClient.ItemSearch(itemSearch);

                var item = response.Items[0].Item[0];

                //<ProductTypeName>DOWNLOADABLE_MUSIC_TRACK</ProductTypeName>
                if (response.Items[0].Item[0].ItemAttributes.ProductTypeName == "DOWNLOADABLE_MUSIC_ALBUM")
                {
                    item = response.Items[0].Item[1];
                }

                // if no response to search
                if (item == null)
                {
                    try
                    {
                        // Try new search and remove the album
                        newSong.Album = "UNKNOWN";

                        // Re-iterate over the search method
                        await getData(newSong, fullRequest);
                    }
                    catch
                    {
                        // Removing the album produced no results
                        // Continue forward...
                    }
                }

                // Get year from full Release Date var
                var formatYear = DateTime.Parse(item.ItemAttributes.ReleaseDate).Year;

                newSong.UserID = 1;
                newSong.LocationID = 1;
                newSong.Album = item.RelatedItems[0].RelatedItem[0].Item.ItemAttributes.Title;
                newSong.Artist = item.ItemAttributes.Creator[0].Value;
                newSong.Title = item.ItemAttributes.Title;
                newSong.Year = (int)formatYear;
                newSong.Genre = item.ItemAttributes.Genre;
                newSong.FilePath = "";
                newSong.Duration = (int)item.ItemAttributes.RunningTime.Value;
                newSong.Price = item.Offers.Offer[0].OfferListing[0].Price.FormattedPrice;
                newSong.ASIN = item.ASIN;
                newSong.Artwork = item.LargeImage.URL;

                return newSong;
            }
            catch
            {
                return newSong;
            }
        }
        public bool SearchForMovie(string movieName, int maxResults)
        {
            _locale = AmazonLocale.FromString(Properties.Settings.Default.AmazonLocale);

            BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);
            binding.MaxReceivedMessageSize = int.MaxValue;

            client = new AWSECommerceServicePortTypeClient(
                binding, new EndpointAddress(_locale.URL)
            );

            client.ChannelFactory.Endpoint.Behaviors.Add(new AmazonSigningEndpointBehavior());

            try
            {
                ItemSearchRequest req = new ItemSearchRequest();
                req.SearchIndex = Properties.Settings.Default.AmazonSearchMode;
                req.Title = movieName;
                req.ItemPage = @"1";
                req.ResponseGroup = new string[] { "Medium", "Subjects" };

                ItemSearch iSearch = new ItemSearch();
                iSearch.Request = new ItemSearchRequest[] { req };
                iSearch.AWSAccessKeyId = Properties.Settings.Default.AWEAccessKeyId;

                ItemSearchResponse res = client.ItemSearch(iSearch);
                if (res.Items[0].Item.Length > 0)
                {
                    Item[] amazonItems = res.Items[0].Item;
                    int itemsToProcess = Math.Min(amazonItems.Length, maxResults);

                    if (amazonItems != null)
                    {
                        // convert Amazon Items to generic collection of DVDs
                        OMLSDKTitle[] searchResults = new OMLSDKTitle[itemsToProcess];

                        for (int i = 0; i < itemsToProcess; i++)
                        {
                            searchResults[i] = AmazonToOML.TitleFromAmazonItem(amazonItems[i]);
                        }
                        int totalPages = 0;
                        int totalItems = 0;
                        if (res.Items[0].TotalPages != null) totalPages = Convert.ToInt32(res.Items[0].TotalPages);
                        if (res.Items[0].TotalResults != null) totalItems = Convert.ToInt32(res.Items[0].TotalResults);

                        _searchResult = (new AmazonSearchResult(searchResults, totalPages, totalItems));
                    }
                    else
                    {
                        _searchResult = (new AmazonSearchResult(null, 0, 0));
                    }

                    return true;
                }
            }
            catch
            {
                _searchResult = (new AmazonSearchResult(null, 0, 0));
            }

            return false;
        }
        public void GetReviews()
        {
            // Instantiate Amazon ProductAdvertisingAPI client
            AWSECommerceServicePortTypeClient amazonClient = new AWSECommerceServicePortTypeClient();

            DbWrappers     wrapper = new DbWrappers();
            List <Product> list    = wrapper.GetAllProducts();

            foreach (var prod in list)
            {
                if (hasReviews == true)
                {
                    hasReviews = false;
                }
                // prepare an ItemSearch request
                ItemSearchRequest request = new ItemSearchRequest();
                request.SearchIndex = "Electronics";
                //request.Title = "WCF";

                request.Keywords      = prod.Title;
                request.ResponseGroup = new string[] { "ItemAttributes", "Offers", "OfferSummary", "Reviews" };

                ItemSearch itemSearch = new ItemSearch();
                itemSearch.Request        = new ItemSearchRequest[] { request };
                itemSearch.AWSAccessKeyId = ConfigurationManager.AppSettings["accessKeyId"];
                itemSearch.AssociateTag   = "newmobiles0d-20";

                // send the ItemSearch request
                try
                {
                    ItemSearchResponse response = amazonClient.ItemSearch(itemSearch);

                    foreach (var item in response.Items[0].Item)
                    {
                        if (!hasReviews)
                        {
                            // Getting title
                            Console.WriteLine("Title: " + item.ItemAttributes.Title);
                            //Getting manufacturer of the item
                            Console.WriteLine("Manufacturer: " + item.ItemAttributes.Manufacturer);
                            //Getting model
                            Console.WriteLine("Model:" + item.ItemAttributes.Model);


                            if ((item.CustomerReviews.HasReviews) == true)
                            {
                                string str            = item.CustomerReviews.IFrameURL;
                                string final_response = "";
                                try
                                {
                                    //Getting html from IFrame URL
                                    HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(str);
                                    req.Method = "POST";
                                    HttpWebResponse res    = (HttpWebResponse)req.GetResponse();
                                    StreamReader    stream = new StreamReader(res.GetResponseStream());
                                    final_response = stream.ReadToEnd();

                                    GetMainPageHtml(final_response, prod.Id);
                                }



                                catch (Exception e)
                                {
                                    Console.WriteLine(e);
                                }
                            }
                        }
                        else
                        {
                            break;
                        }
                    }
                }
                catch (Exception e1)
                {
                }
            }

            Console.WriteLine("done...enter any key to continue>");
            Console.ReadLine();
        }
    void Start()
    {
        TipsManager.fromScene = true;
        Debug.Log("Mod of Level"+Prefs.level()%2);

        if (LevelManager.gameMode == "arcade")
            arcadeTxt.SetActive (true);

        ObjectHit.errorCount = 0;
        itemCount = 0;
        itemHintCount = 0;
        levelComplete = false;
        Points.load ();
        updateStats ();

        for (int x=0; x<3; x++) {
            bg[x].sprite = (Sprite)Resources.Load ("Scenes/" + LevelManager.sceneId + "/bg", typeof(Sprite));
        }
        fg.sprite = (Sprite)Resources.Load ("Scenes/" + LevelManager.sceneId + "/fg", typeof(Sprite));

        hoManager = new HiddenObjects (hidObjects);
        hidObjects = hoManager.getObj ();

        CluesDiff.load (psw, psw2);
        itemSearch = new ItemSearch (clues);
        clues = itemSearch.getClues ();
    }
Exemple #37
0
        public static Collection <PartialMatche> Search(string search, string artist, AmazonIndex index, AmazonCountry country, AmazonBrowserNode node)
        {
            ItemSearch        service = new ItemSearch();
            ItemSearchRequest request = new ItemSearchRequest();

            request.Title       = search.Trim();
            request.SearchIndex = index.ToString();

            if (string.IsNullOrWhiteSpace(artist) == false)
            {
                if (index == AmazonIndex.Books)
                {
                    request.Author = artist;
                }
                else
                {
                    request.Artist = artist;
                }
            }

            request.Sort = "salesrank";

            if (node != AmazonBrowserNode.None)
            {
                request.BrowseNode = Enum.Format(typeof(AmazonBrowserNode), node, "d");
            }
            switch (index)
            {
            case AmazonIndex.VideoGames:
                request.ResponseGroup = new [] { "Medium", "Images" };
                break;

            default:
                request.ResponseGroup = new [] { "Small", "Images" };
                break;
            }

            service.Request        = new [] { request };
            service.AWSAccessKeyId = Aws1;
            service.AssociateTag   = AssociateTag;

            AWSECommerceServicePortTypeClient client =
                new AWSECommerceServicePortTypeClient(
                    new BasicHttpBinding("AWSECommerceServiceBinding"),
                    new EndpointAddress(string.Format("https://webservices.amazon.{0}/onca/soap?Service=AWSECommerceService", country.ToString())));

            // add authentication to the ECS client
            client.ChannelFactory.Endpoint.Behaviors.Add(new AmazonSigningEndpointBehavior(Aws1, Aws2));
            ItemSearchResponse response = client.ItemSearch(service);

            if (response.Items.GetLength(0) > 0)
            {
                if (response.Items[0].Item != null)
                {
                    return(CreatePartialMatch(response.Items[0].Item, index));
                }
                else
                {
                    return(null);
                }
            }
            else
            {
                return(null);
            }
        }
Exemple #38
0
 private static void ItemSearchFunc()
 {
     var request = new ItemSearchRequest
     {
         Keywords = "tv",
         SearchIndex = "All",
         ItemPage = _itemPage.ToString(CultureInfo.InvariantCulture)
     };
     var itemSearch = new ItemSearch
     {
         Request = new ItemSearchRequest[] {request},
         AWSAccessKeyId = AwsAccessKeyId,
         AssociateTag = AssociateTag
     };
     if (_itemSearchResponse == null)
     {
         try
         {
             _itemSearchResponse = AmazonClient.ItemSearch(itemSearch);
             Console.WriteLine("TotalResults: " + _itemSearchResponse.Items[0].TotalResults);
             Console.WriteLine("TotalPages: " + _itemSearchResponse.Items[0].TotalPages);
         }
         catch (ServerTooBusyException)
         {
             ItemSearchFunc();
         }
     }
     if (_itemSearchResponse == null) return;
     ItemLookupFunc(_itemSearchResponse.Items[0].Item.ToList());
 }
Exemple #39
0
        public void Search(string searchtag)
        {
            if (searchtag == null)
            {
                return;
            }
            if (searchtag == string.Empty)
            {
                return;
            }
            m_imageList.DisposeAndClearList();
            AWSECommerceService amazonService     = new AWSECommerceService();
            ItemSearch          itemSearch        = new ItemSearch();
            ItemSearchRequest   itemSearchRequest = new ItemSearchRequest();
            ItemSearchResponse  itemSearchResponse;

            itemSearch.SubscriptionId       = "1CTB4YKNPBV7EK9SQVG2";
            itemSearch.AssociateTag         = "";
            itemSearchRequest.Keywords      = searchtag;
            itemSearchRequest.SearchIndex   = "DVD";
            itemSearchRequest.ResponseGroup = new string[] { "Large", "Images", "ItemAttributes", "OfferFull" };
            itemSearchRequest.ItemPage      = "1";
            itemSearch.Request = new ItemSearchRequest[1] {
                itemSearchRequest
            };
            //send the query
            try
            {
                itemSearchResponse = amazonService.ItemSearch(itemSearch);
            }
            catch (Exception)
            {
                return;
            }

            Items[] itemsResponse = itemSearchResponse.Items;
            if (itemsResponse == null)
            {
                return;
            }
            for (int i = 0; i < itemsResponse.Length; ++i)
            {
                Items itemList = itemsResponse[i];
                if (itemList == null)
                {
                    continue;
                }
                if (itemList.Item == null)
                {
                    continue;
                }

                for (int x = 0; x < itemList.Item.Length; ++x)
                {
                    Item item = itemList.Item[x];
                    if (item == null)
                    {
                        continue;
                    }
                    Image image = item.LargeImage;
                    if (image != null)
                    {
                        if (image.URL != null && image.URL.Length > 0)
                        {
                            m_imageList.Add(image.URL);
                        }
                    }
                }
            }
        }
        //geting products for sending mail to the user
        public Dictionary <string, string> GetProductAgainstHashTag(string prodName)
        {
            Dictionary <string, string> proddescDic = new Dictionary <string, string>();
            string title         = "";
            string manufacturer  = "";
            string model         = "";
            string brand         = "";
            string priceInDollar = "";
            double price         = 0.0;

            string[] features;
            // Instantiate Amazon ProductAdvertisingAPI client
            AWSECommerceServicePortTypeClient amazonClient = new AWSECommerceServicePortTypeClient();
            BasicHttpBinding httpBinding = new BasicHttpBinding();

            httpBinding.Name = "AWSECommerceServiceBindingNoTransport";
            httpBinding.MaxReceivedMessageSize = 2147483647;
            httpBinding.MaxBufferSize          = 2147483647;
            // prepare an ItemSearch request
            ItemSearchRequest request = new ItemSearchRequest();

            //request.SearchIndex = "Electronics";
            request.SearchIndex = "All";
            //request.Title = "WCF";

            request.Keywords      = prodName;
            request.ResponseGroup = new string[] { "ItemAttributes", "Offers", "OfferSummary", "Reviews" };

            ItemSearch itemSearch = new ItemSearch();

            itemSearch.Request        = new ItemSearchRequest[] { request };
            itemSearch.AWSAccessKeyId = ConfigurationManager.AppSettings["accessKeyId"];
            itemSearch.AssociateTag   = "newmobiles0d-20";

            // send the ItemSearch request
            try
            {
                ItemSearchResponse response = amazonClient.ItemSearch(itemSearch);

                foreach (var item in response.Items[0].Item)
                {
                    if (!GetReview)
                    {
                        //Getting title
                        try
                        {
                            title = item.ItemAttributes.Title;
                            proddescDic["Title"] = title;
                            if (!(title.Equals("")))
                            {
                                GetReview = true;
                            }
                        }
                        catch (Exception)
                        { };
                        //Getting manufacturer of the item
                        try
                        {
                            manufacturer = item.ItemAttributes.Manufacturer;
                            proddescDic["Manufacturer"] = manufacturer;
                        }
                        catch (Exception)
                        { };
                        //Getting model
                        try
                        {
                            model = item.ItemAttributes.Model;
                            proddescDic["Model"] = model;
                        }
                        catch (Exception) { };
                        //Getting Brand
                        try
                        {
                            brand = item.ItemAttributes.Brand;
                            proddescDic["Brand"] = brand;
                        }
                        catch (Exception)
                        { };
                        //Getting Amount in Dollar
                        try
                        {
                            priceInDollar        = item.ItemAttributes.ListPrice.FormattedPrice;
                            proddescDic["Price"] = priceInDollar;
                        }
                        catch (Exception)
                        { };
                        //Getting Amount
                        try
                        {
                            price = int.Parse(item.ItemAttributes.ListPrice.Amount);
                        }
                        catch (Exception)
                        { };
                        try
                        {
                            features = item.ItemAttributes.Feature;
                            string fea = "";
                            foreach (var f in features)
                            {
                                fea = fea + "\n" + f;
                            }
                            proddescDic["Features"] = fea;
                        }
                        catch (Exception)
                        { };
                    }
                    if (reviewLoopIterator < 5)
                    {
                        if ((item.CustomerReviews.HasReviews) == true)
                        {
                            reviewLoopIterator++;
                            string str            = item.CustomerReviews.IFrameURL;
                            string final_response = "";
                            try
                            {
                                //Getting html from IFrame URL
                                HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(str);
                                req.Method = "POST";
                                HttpWebResponse res    = (HttpWebResponse)req.GetResponse();
                                StreamReader    stream = new StreamReader(res.GetResponseStream());
                                final_response = stream.ReadToEnd();

                                GetMainPageHtml(final_response);
                            }



                            catch (Exception e)
                            {
                                Console.WriteLine(e);
                            }
                        }
                    }
                    else
                    {
                        break;
                    }
                }

                return(proddescDic);
            }
            catch (Exception e1)
            {
                return(proddescDic);
            }
        }
        public Dictionary <string, string> GetProdDetails(string pName)
        {
            Dictionary <string, string> proddescDic = new Dictionary <string, string>();
            string title         = "";
            string manufacturer  = "";
            string model         = "";
            string brand         = "";
            string priceInDollar = "";
            double price         = 0.0;

            string[] features;
            string   fea = "";
            // Instantiate Amazon ProductAdvertisingAPI client
            AWSECommerceServicePortTypeClient amazonClient = new AWSECommerceServicePortTypeClient();

            // prepare an ItemSearch request
            ItemSearchRequest request = new ItemSearchRequest();

            request.SearchIndex = "All";

            //request.Title = "WCF";

            request.Keywords      = pName;
            request.ResponseGroup = new string[] { "ItemAttributes", "Offers", "OfferSummary", "Reviews" };

            ItemSearch itemSearch = new ItemSearch();

            itemSearch.Request        = new ItemSearchRequest[] { request };
            itemSearch.AWSAccessKeyId = ConfigurationManager.AppSettings["accessKeyId"];
            itemSearch.AssociateTag   = "newmobiles0d-20";

            // send the ItemSearch request
            try
            {
                bool getNextTitle = false;

                ItemSearchResponse response = amazonClient.ItemSearch(itemSearch);

                foreach (var item in response.Items[0].Item)
                {
                    if (!IsCorrect)
                    {
                        //Getting title
                        try
                        {
                            title = item.ItemAttributes.Title;
                            if (!(title.ToLower().Contains("Stick".ToLower())) || (title.ToLower().Contains("Case".ToLower())) || (title.ToLower().Contains("Cover".ToLower())))
                            {
                                proddescDic["Title"] = title;
                                IsCorrect            = true;
                                getNextTitle         = false;
                            }
                            else
                            {
                                getNextTitle         = true;
                                proddescDic["Title"] = title;
                            }
                        }
                        catch (Exception)
                        { };
                        if (!getNextTitle)
                        {
                            //Getting manufacturer of the item
                            try
                            {
                                manufacturer = item.ItemAttributes.Manufacturer;
                                proddescDic["Manufacturer"] = manufacturer;
                            }
                            catch (Exception)
                            { };
                            //Getting model
                            try
                            {
                                model = item.ItemAttributes.Model;
                                proddescDic["Model"] = model;
                            }
                            catch (Exception) { };
                            //Getting Brand
                            try
                            {
                                brand = item.ItemAttributes.Brand;
                                proddescDic["Brand"] = brand;
                            }
                            catch (Exception)
                            { };
                            //Getting Amount in Dollar
                            try
                            {
                                priceInDollar        = item.ItemAttributes.ListPrice.FormattedPrice;
                                proddescDic["Price"] = priceInDollar;
                            }
                            catch (Exception)
                            { };
                            //Getting Amount
                            try
                            {
                                string p = item.ItemAttributes.ListPrice.Amount;
                            }
                            catch (Exception)
                            { };
                            try
                            {
                                features = item.ItemAttributes.Feature;
                                foreach (var f in features)
                                {
                                    fea = fea + "\n" + f;
                                }
                                proddescDic["Features"] = fea;
                                Console.WriteLine(fea);
                            }
                            catch (Exception)
                            { };
                        }
                    }

                    if ((item.CustomerReviews.HasReviews) == true)
                    {
                        string str            = item.CustomerReviews.IFrameURL;
                        string final_response = "";
                        try
                        {
                            //Getting html from IFrame URL
                            HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(str);
                            req.Method = "POST";
                            HttpWebResponse res    = (HttpWebResponse)req.GetResponse();
                            StreamReader    stream = new StreamReader(res.GetResponseStream());
                            final_response = stream.ReadToEnd();

                            GetMainPageHtml(final_response);
                        }



                        catch (Exception e)
                        {
                            Console.WriteLine(e);
                        }
                    }
                }
            }
            catch (Exception e1)
            {
            }

            return(proddescDic);
        }
        public static NonInventoryResaleItem GetItem(string strProductId)
        {
            NonInventoryResaleItem objItem = new NonInventoryResaleItem();
            try
            {
                ItemSearchBasic objItemSearchBasic = new ItemSearchBasic();
                objItemSearchBasic.vendorCode = new SearchStringField();
                objItemSearchBasic.vendorCode.@operator = SearchStringFieldOperator.startsWith;
                objItemSearchBasic.vendorCode.searchValue = strProductId;// "CST34434A_B";
                objItemSearchBasic.vendorCode.operatorSpecified = true;

                objItemSearchBasic.isInactive = new SearchBooleanField();
                objItemSearchBasic.isInactive.searchValue = false;
                objItemSearchBasic.isInactive.searchValueSpecified = false;

                ItemSearch objItemSearch = new ItemSearch();
                objItemSearch.basic = objItemSearchBasic;
                SearchResult objSearchResult = _service.search(objItemSearch);
                if (objSearchResult.recordList != null && objSearchResult.recordList.Length == 1)
                {
                    if (objSearchResult.recordList[0] is NonInventoryResaleItem)
                    {
                        objItem = (NonInventoryResaleItem)objSearchResult.recordList[0];
                        //RecordRef objRecord = new RecordRef();
                        //objRecord.internalId = objItem.internalId;
                        //objRecord.type = RecordType.nonInventoryResaleItem;
                        //objRecord.typeSpecified = true;
                        //ReadResponse objResponse = _service.get(objRecord);
                        //objItem = (NonInventoryResaleItem)objResponse.record;
                    }
                }
            }
            catch (Exception)
            {
            }
            return objItem;
        }
Exemple #43
0
    static void Main(String[] args)
    {
        // Write to console
        Console.WriteLine("Welcome to the C# Station Tutorial!");

        // Set default args if two are not supplied
        if (args.Length != 2)
        {
            args = new string[] { "DVD", "Matrix" };
        }
        // Get searchIndex and keywords from the command line
        string searchIndex = args[0];
        string keywords    = args[1];
        // Create an instance of the Product Advertising API service
        AWSECommerceServicePortTypeClient ecs = new AWSECommerceServicePortTypeClient();

        /* Error:
         * An endpoint configuration section for contract 'amazon.ecs.AWSECommerceServicePortType'
         * could not be loaded because more than one endpoint configuration for that contract was
         * found. Please indicate the preferred endpoint configuration section by name.
         */

        // Create ItemSearch wrapper
        ItemSearch search = new ItemSearch();

        //search.AssociateTag = assocTag;
        search.AWSAccessKeyId = accessKeyId;
        // Create a request object
        ItemSearchRequest request = new ItemSearchRequest();

        // Fill request object with request parameters
        request.ResponseGroup = new string[] { "ItemAttributes" };
        // Set SearchIndex and Keywords
        request.SearchIndex = searchIndex;
        request.Keywords    = keywords;
        // Set the request on the search wrapper
        search.Request = new ItemSearchRequest[] { request };
        Console.WriteLine(request.Keywords);
        try
        {
            //Send the request and store the response in response
            Console.WriteLine("try...");
            ItemSearchResponse response = ecs.ItemSearch(search);
            //Check for null response
            if (response == null)
            {
                throw new Exception("Server Error - no response recieved!");
            }
            //ItemSearchResult[] itemsArray = response.GetItemSearchResult;
            if (response.OperationRequest.Errors != null)
            {
                throw new Exception(response.OperationRequest.Errors[0].Message);
            }
            Console.WriteLine("Response: " + response.ToString());
            Console.WriteLine("Length: " + response.Items.Length);
        }
        catch (Exception e)
        {
            Console.WriteLine("...catch");
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("Err: " + e.Message);
            Console.WriteLine("Type: " + e.GetType());
            Console.WriteLine("Inner Exception: " + e.InnerException.Message);
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("Press any key to quit...");
            // http://www.webdesigncompany.co.uk/blog/2011/10/5/using-the-new-amazon-product-api-wsdl-with-microsoftwebservices3/
            // Err: The remote server returned an unexpected response: (400) Bad Request.
        }
        Console.ReadKey();
    }
        public static ArrayList GetItemByItemNumber(string strProductId)
        {
            ArrayList arrItem = new ArrayList();
            try
            {
                strProductId = strProductId.Trim();

                SearchStringCustomField objItemNumber = new SearchStringCustomField();
                objItemNumber.@operator = SearchStringFieldOperator.@is;
                objItemNumber.operatorSpecified = true;
                objItemNumber.searchValue = strProductId;
                objItemNumber.internalId = "custitemcst_itemnumber";

                ItemSearchBasic objItemSearchBasic = new ItemSearchBasic();
                objItemSearchBasic.customFieldList = new SearchCustomField[] { objItemNumber };

                objItemSearchBasic.isInactive = new SearchBooleanField();
                objItemSearchBasic.isInactive.searchValue = false;
                objItemSearchBasic.isInactive.searchValueSpecified = true;

                ItemSearch objItemSearch = new ItemSearch();
                objItemSearch.basic = objItemSearchBasic;
                SearchResult objSearchResult = _service.search(objItemSearch);
                if (objSearchResult.recordList != null && objSearchResult.recordList.Length > 0)
                {
                    for (int i = 0; i < objSearchResult.recordList.Length; i++)
                    {
                        if (objSearchResult.recordList[i] is NonInventoryResaleItem)
                        {
                            NonInventoryResaleItem objItem = (NonInventoryResaleItem)objSearchResult.recordList[i];
                            arrItem.Add(new string[] { objItem.internalId, objItem.internalId + " " + objItem.vendorName + ": " + objItem.salesDescription });
                        }
                        if (objSearchResult.recordList[i] is LotNumberedAssemblyItem)
                        {
                            LotNumberedAssemblyItem objItem = (LotNumberedAssemblyItem)objSearchResult.recordList[i];
                            arrItem.Add(new string[] { objItem.internalId, objItem.internalId + " " + objItem.vendorName + ": " + objItem.displayName });
                        }
                    }
                }
            }
            catch (Exception)
            {
            }
            return arrItem;
        }
        public static ArrayList GetItemId(string strProductId)
        {
            ArrayList arrItem = new ArrayList();
            try
            {
                strProductId = strProductId.Trim();
                ItemSearchBasic objItemSearchBasic = new ItemSearchBasic();
                objItemSearchBasic.vendorName = new SearchStringField();
                if (strProductId.StartsWith("QB0"))
                {
                    strProductId = GetPackedBunch(strProductId);
                    objItemSearchBasic.vendorName.@operator = SearchStringFieldOperator.@is;
                    if (string.IsNullOrEmpty(strProductId))
                    {
                        return arrItem;
                    }
                }
                else
                {
                    objItemSearchBasic.vendorName.@operator = SearchStringFieldOperator.startsWith;
                }
                objItemSearchBasic.vendorName.searchValue = strProductId;// "CST34434A_B";
                objItemSearchBasic.vendorName.operatorSpecified = true;

                objItemSearchBasic.isInactive = new SearchBooleanField();
                objItemSearchBasic.isInactive.searchValue = false;
                objItemSearchBasic.isInactive.searchValueSpecified = true;

                ItemSearch objItemSearch = new ItemSearch();
                objItemSearch.basic = objItemSearchBasic;
                SearchResult objSearchResult = _service.search(objItemSearch);
                if (objSearchResult.recordList != null && objSearchResult.recordList.Length > 0)
                {
                    for (int i = 0; i < objSearchResult.recordList.Length; i++)
                    {
                        if (objSearchResult.recordList[i] is NonInventoryResaleItem)
                        {
                            NonInventoryResaleItem objItem = (NonInventoryResaleItem)objSearchResult.recordList[i];
                            arrItem.Add(new string[] { objItem.internalId, objItem.internalId + " " + objItem.vendorName + ": " + objItem.salesDescription });
                        }
                        if (objSearchResult.recordList[i] is LotNumberedAssemblyItem)
                        {
                            LotNumberedAssemblyItem objItem = (LotNumberedAssemblyItem)objSearchResult.recordList[i];
                            arrItem.Add(new string[] { objItem.internalId, objItem.internalId + " " + objItem.vendorName + ": " + objItem.displayName });
                        }
                    }
                }
            }
            catch (Exception)
            {
            }
            return arrItem;
        }
Exemple #46
0
        private ItemSearch SearchRequest(ItemSearchRequest request)
        {
            var itemSearch = new ItemSearch
            {
                Request = new[] { request },
                AWSAccessKeyId = AccessKey,
                AssociateTag = AssociateTag
            };

            return itemSearch;
        }
        public ActionResult Search(string searchIndex = null, string searchKeywords = null, int pageNr = 1)
        {
            ItemSearch results = new ItemSearch(searchIndex, searchKeywords, pageNr);

            return(View(results));
        }
Exemple #48
0
        private void GetInfoFromAmazon(string keyword, string technology)
        {
            AWSProductData productData = new AWSProductData();

            ItemSearch srch = null;

            try
            {
                ItemSearchRequest req = new ItemSearchRequest();
                req.Keywords    = keyword;
                req.SearchIndex = "Books";


                srch = new ItemSearch();
                srch.AssociateTag   = "libertyassocia00A";
                srch.SubscriptionId = "0SD959SZV6KXV3BKE2R2";
                srch.Request        = new ItemSearchRequest[1];
                srch.Request[0]     = req;
            }
            catch (System.Exception e)
            {
                lblStatus.Text = e.Message;
            }

            ItemSearchResponse response;

            int    salesRank = -1;
            string isbn      = string.Empty;
            string author    = string.Empty;
            string pubDate   = string.Empty;
            string publisher = string.Empty;
            string title     = string.Empty;
            string strURL    = string.Empty;

            Items[] responseItems = null;
            try
            {
                response      = productData.ItemSearch(srch); // get back ItemSearchResponse
                responseItems = response.Items;               // Items returns array of Items
                foreach (Items items in responseItems)
                {
                    // Item property of Items is an array of Item objects
                    Item[] arrayOfItem = items.Item;
                    foreach (Item item in arrayOfItem)
                    {
                        isbn      = FixQuotes(item.ItemAttributes.ISBN);
                        salesRank = item.SalesRank == null ? -1 : Convert.ToInt32(item.SalesRank);
                        author    = FixQuotes(item.ItemAttributes.Author[0]);
                        pubDate   = FixQuotes(item.ItemAttributes.PublicationDate);
                        publisher = FixQuotes(item.ItemAttributes.Publisher);
                        title     = FixQuotes(item.ItemAttributes.Title);
                        strURL    = item.DetailPageURL;
                        // update the list box
                        string results = title + " by " + author + ": " +
                                         publisher + ", " + pubDate + ". Rank: " + salesRank;
                        lbOutput.Items.Add(results);
                        lbOutput.SelectedIndex = lbOutput.Items.Count - 1;

                        // update the database
                        string commandString = @"Update BookInfo set isbn = '" +
                                               isbn + "', title = '" + title + "', publisher = '" +
                                               publisher + "', pubDate = '" + pubDate + "', rank = " +
                                               salesRank + ", link = '" + strURL + "', lastUpdate = '" +
                                               System.DateTime.Now + "', technology = '" +
                                               technology + "', author = '" +
                                               author + "' where isbn = '" +
                                               isbn + "'";

                        command.CommandText = commandString;
                        try
                        {
                            // if no rows were affected, this is a new record
                            connection.Open();
                            int numRowsAffected = command.ExecuteNonQuery();
                            if (numRowsAffected == 0)
                            {
                                commandString = @"Insert into BookInfo values ('" +
                                                isbn + "', '" + title + "', '" + publisher + "', '" +
                                                pubDate + "', '" + FixQuotes(strURL) + "', " + salesRank + ", '" +
                                                System.DateTime.Now +
                                                "', '" + technology + "', '" + author + "')";

                                command.CommandText = commandString;
                                command.ExecuteNonQuery();
                            }
                        }
                        catch (Exception ex)
                        {
                            lblStatus.Text = ex.Message;
                            lbOutput.Items.Add("Unable to update database!");
                            lbOutput.SelectedIndex = lbOutput.Items.Count - 1;
                        }
                        finally
                        {
                            connection.Close(); // clean up
                        }
                        Application.DoEvents(); // update the UI
                    }
                }
            }
            catch (System.Exception ex)
            {
                lblStatus.Text = ex.Message;
            }
        }   // close for GetInfoFromISBN
Exemple #49
0
 private void ShowItemEditor(object sender, RoutedEventArgs args)
 {
     ItemSearch.Show();
 }
Exemple #50
0
        static void Main(string[] args)
        {
            AWSECommerceService Service = new AWSECommerceService();

            ItemSearch        itemSearch = new ItemSearch();
            ItemSearchRequest request    = new ItemSearchRequest();

            // Keys
            itemSearch.AWSAccessKeyId = "";                 // YOUR ACCESS KEY!
            itemSearch.AssociateTag   = "meinkleinerbl-21"; // YOUR ASSOCIATE TAG!

            // Suchbereich eingrenzen
            request.ResponseGroup = new string[] { "Medium", "Offers" };
            request.SearchIndex   = "Blended";
            request.Keywords      = "Potter"; // Suchwort

            request.ItemPage = "1";
            request.Count    = "25"; // Maximum per Page

            itemSearch.Request = new ItemSearchRequest[] { request };

            try
            {
                ItemSearchResponse response = Service.ItemSearch(itemSearch);

                Items[] itemsArray = response.Items;

                foreach (Items items in itemsArray)
                {
                    Console.WriteLine("Total Pages; " + items.TotalPages);
                    Console.WriteLine("Total Results; " + items.TotalResults);

                    if (items != null)
                    {
                        if (items.Item != null)
                        {
                            for (int i = 0; i < items.Item.Length; i++)
                            {
                                Console.WriteLine();
                                Console.WriteLine("Title: " + items.Item[i].ItemAttributes.Title);

                                if (items.Item[i].Offers.TotalOffers != "0")
                                {
                                    if (items.Item[i].Offers.Offer[0].OfferListing[0].Price != null)
                                    {
                                        Console.WriteLine("Price: " + items.Item[i].Offers.Offer[0].OfferListing[0].Price.FormattedPrice);
                                    }
                                }
                                Console.WriteLine("SalesRank: " + items.Item[i].SalesRank);
                                Console.WriteLine("SalesRank: " + items.Item[i].ASIN);
                                Console.WriteLine("Description: " + items.Item[i].ItemAttributes.Label);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            Console.ReadLine();
        }
Exemple #51
0
        public static void GetCDCover(CD cd)
        {
            try
            {
                if (cd == null)
                {
                    return;
                }

                Cursor.Current = Cursors.WaitCursor;

                string filenameFront = cd.GetCDCoverFilename(CoverType.Front);
                string filenameBack  = cd.GetCDCoverFilename(CoverType.Back);

                AWSECommerceServicePortTypeClient amazonClient = new AWSECommerceServicePortTypeClient();

                ItemSearch itemSearch = new ItemSearch();
                itemSearch.AWSAccessKeyId = "0FN016GTSMZHJD0C7YG2";

                ItemSearchRequest itemSearchRequest = new ItemSearchRequest();
                itemSearchRequest.Artist        = cd.Artist;
                itemSearchRequest.Keywords      = cd.Title;
                itemSearchRequest.SearchIndex   = "Music";
                itemSearchRequest.Sort          = "salesrank";
                itemSearchRequest.ResponseGroup = new string[] { "Images" };
                itemSearchRequest.ItemPage      = "1";
                itemSearch.Request = new ItemSearchRequest[1] {
                    itemSearchRequest
                };
                itemSearch.AssociateTag = "hitbase-21";

                ItemSearchResponse itemSearchResponse = null;

                bool nothingFound = false;
                try
                {
                    itemSearchResponse = amazonClient.ItemSearch(itemSearch);
                }
                catch
                {
                    nothingFound = true;
                }

                try
                {
                    if (!nothingFound && itemSearchResponse != null && itemSearchResponse.Items != null && itemSearchResponse.Items.Length > 0 &&
                        itemSearchResponse.Items[0].Item != null && itemSearchResponse.Items[0].Item.Length > 0)
                    {
                        WebClient webclient = new WebClient();
                        webclient.UseDefaultCredentials = true;
                        webclient.Proxy.Credentials     = CredentialCache.DefaultCredentials;
                        Item item = itemSearchResponse.Items[0].Item[0];

                        if (item.LargeImage != null && !string.IsNullOrEmpty(item.LargeImage.URL))
                        {
                            webclient.DownloadFile(item.LargeImage.URL, filenameFront);
                        }
                        else
                        if (item.MediumImage != null && !string.IsNullOrEmpty(item.MediumImage.URL))
                        {
                            webclient.DownloadFile(item.MediumImage.URL, filenameFront);
                        }
                        else
                        if (item.SmallImage != null && !string.IsNullOrEmpty(item.SmallImage.URL))
                        {
                            webclient.DownloadFile(item.SmallImage.URL, filenameFront);
                        }

                        if (item.ImageSets != null && item.ImageSets.Length > 0)
                        {
                            foreach (ImageSet imageSet in item.ImageSets)
                            {
                                //foreach (ImageSet imageSet in imgSet)
                                {
                                    if (imageSet.Category == "variant")
                                    {
                                        if (imageSet.LargeImage != null)
                                        {
                                            webclient.DownloadFile(imageSet.LargeImage.URL, filenameBack);
                                        }
                                        else
                                        if (imageSet.MediumImage != null)
                                        {
                                            webclient.DownloadFile(imageSet.MediumImage.URL, filenameBack);
                                        }
                                        else
                                        if (imageSet.SmallImage != null)
                                        {
                                            webclient.DownloadFile(imageSet.SmallImage.URL, filenameBack);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                catch (Exception e)
                {
                    FormUnhandledException formUnhandledException = new FormUnhandledException(e);
                    formUnhandledException.ShowDialog();
                }

                if (File.Exists(filenameFront))
                {
                    cd.CDCoverFrontFilename = filenameFront;
                }
                if (File.Exists(filenameBack))
                {
                    cd.CDCoverBackFilename = filenameBack;
                }
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
        private void itemSearchFormNavAction(object sender, object data)
        {
            NavBox     itemSearchNavBox = (NavBox)sender;
            ItemSearch itemSearchForm   = (ItemSearch)data;

            NavBox.NavAction action = itemSearchNavBox.Action;
            if (action == NavBox.NavAction.BACKANDSUBMIT)
            {
                GlobalDataAccessor.Instance.DesktopSession.HistorySession.Back();
                action = NavBox.NavAction.SUBMIT;
            }
            switch (action)
            {
            case NavBox.NavAction.SUBMIT:
                if (itemSearchNavBox.IsCustom)
                {
                    string custDet = itemSearchNavBox.CustomDetail;
                    if (custDet.Equals("GetCategory") || custDet.Equals("TemporaryICN"))
                    {
                        itemSearchForm.Hide();
                        this.nextState = SaleFlowState.DescribeMerchandise;
                    }
                    else if (custDet.Equals("ViewItemDetails"))
                    {
                        //Show describe item form as show dialog
                        int iItemIdx      = GlobalDataAccessor.Instance.DesktopSession.DescribeItemPawnItemIndex;
                        int iCategoryMask = GlobalDataAccessor.Instance.DesktopSession.CategoryXML.GetCategoryMask(GlobalDataAccessor.Instance.DesktopSession.ActiveRetail.RetailItems[iItemIdx].CategoryCode);
                        DescribedMerchandise dmPawnItem = new DescribedMerchandise(iCategoryMask);
                        Item pawnItem = GlobalDataAccessor.Instance.DesktopSession.ActiveRetail.RetailItems[iItemIdx];
                        Item.PawnItemMerge(ref pawnItem, dmPawnItem.SelectedPawnItem, true);
                        ((CustomerProductDataVO)GlobalDataAccessor.Instance.DesktopSession.ActiveRetail).Items.Insert(0, pawnItem);
                        // End GetCat5 populate
                        // Placeholder for ReadOnly DescribedItem.cs
                        DescribeItem myForm = new DescribeItem(GlobalDataAccessor.Instance.DesktopSession, CurrentContext.READ_ONLY, 0)
                        {
                            SelectedProKnowMatch = ((CustomerProductDataVO)GlobalDataAccessor.Instance.DesktopSession.ActiveRetail).Items[0].SelectedProKnowMatch
                        };
                        myForm.ShowDialog(itemSearchForm);
                    }
                    else if (custDet.Equals("LookupCustomer"))
                    {
                        itemSearchForm.Hide();
                        if (GlobalDataAccessor.Instance.DesktopSession.ActiveCustomer != null && !string.IsNullOrEmpty(GlobalDataAccessor.Instance.DesktopSession.ActiveCustomer.CustomerNumber))
                        {
                            this.nextState = SaleFlowState.ManagePawnApplication;
                        }
                        else
                        {
                            this.nextState = SaleFlowState.LookupCustomer;
                        }
                    }
                    else if (custDet.Equals("Reload"))
                    {
                        GlobalDataAccessor.Instance.DesktopSession.HistorySession.Desktop();
                        this.nextState = SaleFlowState.ItemSearch;
                    }
                    else if (custDet.Equals("ProcessTender"))
                    {
                        GlobalDataAccessor.Instance.DesktopSession.HistorySession.Desktop();
                        this.nextState = SaleFlowState.TenderIn;
                    }
                }
                else
                {
                    //Default happy path next state
                    this.parentForm = itemSearchForm;
                    this.nextState  = SaleFlowState.ProcessTender;
                }
                break;

            case NavBox.NavAction.CANCEL:
                this.nextState = SaleFlowState.CancelFlow;
                break;

            default:
                throw new ApplicationException("" + action.ToString() + " is not a valid state for ItemSearch");
            }

            this.executeNextState();
        }
        private void SearchNow(int page)
        {
            listBoxResult.Items.Clear();

            amazonProgressControl.labelStatus.Text  = StringTable.SearchWebService;
            amazonProgressControl.progressBar.Value = 0;

            amazonProgressControl.Visible = true;
            amazonProgressControl.Refresh();

            ItemSearchRequest request = new ItemSearchRequest();

            request.Artist        = textBoxArtist.Text;
            request.Title         = textBoxTitle.Text;
            request.Keywords      = textBoxEAN.Text;
            request.ItemPage      = (page + 1).ToString();
            request.ResponseGroup = new string[] { "Large", "Tracks" };


            request.SearchIndex = "Music";

            AmazonSort sort = ((AmazonSortItem)comboBoxSort.Items[comboBoxSort.SelectedIndex]).sort;

            switch (sort)
            {
            case AmazonSort.YearDescend:
                request.Sort = "-releasedate";
                break;

            case AmazonSort.YearAscend:
                request.Sort = "releasedate";
                break;

            case AmazonSort.TitleAscend:
                request.Sort = "titlerank";
                break;

            case AmazonSort.TitleDescend:
                request.Sort = "-titlerank";
                break;

            case AmazonSort.BestSelling:
                request.Sort = "salesrank";
                break;
            }

            AWSECommerceServicePortTypeClient amazonClient = new AWSECommerceServicePortTypeClient();

            ItemSearch itemSearch = new ItemSearch();

            itemSearch.Request        = new ItemSearchRequest[] { request };
            itemSearch.AWSAccessKeyId = "0FN016GTSMZHJD0C7YG2";
            itemSearch.AssociateTag   = "hitbase-21";

            bool nothingFound = false;
            ItemSearchResponse searchResult = null;

            try
            {
                searchResult = amazonClient.ItemSearch(itemSearch);
            }
            catch
            {
                nothingFound = true;
            }

            if (!nothingFound)
            {
                int totalCount = Convert.ToInt32(searchResult.Items[0].TotalResults);
                labelResult.Text = String.Format(StringTable.Result, totalCount);

                if (totalCount < 1)         // Leider nichts gefunden
                {
                    amazonProgressControl.Visible = false;
                    return;
                }

                WebClient webclient = new WebClient();
                webclient.UseDefaultCredentials = true;
                webclient.Proxy.Credentials     = CredentialCache.DefaultCredentials;

                amazonProgressControl.progressBar.Maximum = searchResult.Items[0].Item.Length;

                int count = 0;
                foreach (Items searchItems in searchResult.Items)
                {
                    foreach (Item details in searchItems.Item)
                    {
                        amazonProgressControl.labelStatus.Text = String.Format(StringTable.ReadingResult, count + 1, searchItems.Item.Length);
                        amazonProgressControl.labelStatus.Refresh();

                        CDListBoxWithCoverItem item = new CDListBoxWithCoverItem();
                        if (details.ItemAttributes.Artist != null && details.ItemAttributes.Artist.Length > 0)
                        {
                            item.Artist = details.ItemAttributes.Artist[0].ToString();
                        }
                        item.Title = details.ItemAttributes.Title;

                        item.Label = details.ItemAttributes.Label;
                        if (details.ItemAttributes.ReleaseDate != null)
                        {
                            item.Year = details.ItemAttributes.ReleaseDate;
                        }
                        else
                        {
                            if (details.ItemAttributes.PublicationDate != null)
                            {
                                item.Year = details.ItemAttributes.PublicationDate;
                            }
                        }
                        item.ASIN = details.ASIN;
                        item.EAN  = details.ItemAttributes.EAN;

                        /*if (details.CustomerReviews != null)
                         *  item.Ranking = details.CustomerReviews.AverageRating;
                         * else
                         *  item.Ranking = 0;*/

                        if (details.EditorialReviews != null && details.EditorialReviews.Length > 0)
                        {
                            item.EditorNotes = details.EditorialReviews[0].Content;
                        }

                        if (details.Tracks != null)
                        {
                            item.CD = new CDItem[details.Tracks.Length];
                            foreach (TracksDisc disc in details.Tracks)
                            {
                                int discNumber = Convert.ToInt32(disc.Number) - 1;
                                item.CD[discNumber]        = new CDItem();
                                item.CD[discNumber].Tracks = new string[disc.Track.Length];
                                foreach (TracksDiscTrack track in disc.Track)
                                {
                                    int trackNumber = Convert.ToInt32(track.Number) - 1;

                                    // Das hier wird wohl (von WCF?) fälschlicherweise als CodePage 1252 interpretiert, obwohl es UTF-8 ist.
                                    // Muss dann konvertiert werden.
                                    Encoding iso      = Encoding.GetEncoding("Windows-1252");
                                    Encoding utf8     = Encoding.UTF8;
                                    byte[]   utfBytes = iso.GetBytes(track.Value);
                                    string   msg      = utf8.GetString(utfBytes);

                                    item.CD[discNumber].Tracks[trackNumber] = msg;
                                }
                            }
                        }
                        else
                        {
                            // Wenn keine Track-Daten vorhanden sind, ein Pseudo-Track erzeugen
                            item.CD              = new CDItem[1];
                            item.CD[0]           = new CDItem();
                            item.CD[0].Tracks    = new string[1];
                            item.CD[0].Tracks[0] = StringTable.Unknown;
                        }

                        if (details.SmallImage != null)
                        {
                            item.smallImageUrl = details.SmallImage.URL;
                        }

                        if (details.MediumImage != null)
                        {
                            item.mediumImageUrl = details.MediumImage.URL;
                        }

                        if (details.LargeImage != null)
                        {
                            item.largeImageUrl = details.LargeImage.URL;
                        }

                        if (details.ImageSets != null && details.ImageSets.Length > 0)
                        {
                            //foreach (ImageSet[] imgSet in details.ImageSets)
                            {
                                foreach (ImageSet imageSet in details.ImageSets)
                                {
                                    if (imageSet.Category == "variant")
                                    {
                                        if (imageSet.SmallImage != null)
                                        {
                                            item.backCoverSmallImageUrl = imageSet.SmallImage.URL;
                                        }

                                        if (imageSet.MediumImage != null)
                                        {
                                            item.backCoverMediumImageUrl = imageSet.MediumImage.URL;
                                        }

                                        if (imageSet.LargeImage != null)
                                        {
                                            item.backCoverLargeImageUrl = imageSet.LargeImage.URL;
                                        }
                                    }
                                }
                            }
                        }

                        item.Image = GetImage(webclient, details);

                        listBoxResult.Items.Add(item);

                        amazonProgressControl.progressBar.PerformStep();

                        count++;
                    }
                }

                if (totalCount > 10)
                {
                    pagerControl.NumberOfPages = (totalCount + 9) / 10;
                    pagerControl.Visible       = true;
                }
                else
                {
                    pagerControl.Visible = false;
                }
            }
            else
            {
                labelResult.Text     = String.Format(StringTable.Result, 0);
                pagerControl.Visible = false;
            }

            amazonProgressControl.Visible = false;
        }
        /// <summary>
        /// NavBox OnAction Handler for Lookup Customer
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="data"></param>
        private void lookupCustFormNavAction(object sender, object data)
        {
            if (sender == null || data == null)
            {
                throw new ApplicationException("Lookup customer form navigation action handler received invalid data");
            }

            var lookupCustNavBox = (NavBox)sender;
            var lookupCustForm   = (LookupCustomer)data;
            var lookupAction     = lookupCustNavBox.Action;

            if (lookupAction == NavBox.NavAction.BACKANDSUBMIT)
            {
                GlobalDataAccessor.Instance.DesktopSession.HistorySession.Back();
                lookupAction = NavBox.NavAction.SUBMIT;
            }
            var  itemSearchFrm = new ItemSearch();
            Form currForm      = GlobalDataAccessor.Instance.DesktopSession.HistorySession.Lookup(itemSearchFrm);

            if (currForm.GetType() == typeof(ItemSearch))
            {
                currForm.Hide();
            }
            if (GlobalDataAccessor.Instance.DesktopSession.HistorySession.Lookup("TenderIn"))
            {
                GlobalDataAccessor.Instance.DesktopSession.HistorySession.HideForm("TenderIn");
            }
            switch (lookupAction)
            {
            case NavBox.NavAction.SUBMIT:
                if (lookupCustNavBox.IsCustom)
                {
                    string custDet = lookupCustNavBox.CustomDetail;
                    //Look for add customer
                    if (custDet.Equals("AddCustomer") ||
                        custDet.Equals("CreateCustomer"))
                    {
                        //Execute add customer
                        this.nextState = SaleFlowState.ManagePawnApplication;
                    }
                    else if (custDet.Equals("ExistingCustomer"))
                    {
                        this.nextState = SaleFlowState.ExistingCustomer;
                    }
                    else if (custDet.Equals("LookupCustomerResults"))
                    {
                        this.nextState = SaleFlowState.LookupCustomerResults;
                    }
                    else if (custDet.Equals("LookupVendorResults"))
                    {
                        this.nextState = SaleFlowState.LookupVendorResults;
                    }
                    else if (custDet.Equals("ManagePawnApplication"))
                    {
                        this.nextState = SaleFlowState.ManagePawnApplication;
                    }
                }
                else
                {
                    //Default happy path next state
                    this.parentForm = lookupCustForm;
                    this.nextState  = SaleFlowState.LookupCustomerResults;
                }
                break;

            case NavBox.NavAction.CANCEL:
                this.nextState = SaleFlowState.CancelFlow;
                break;

            default:
                throw new ApplicationException("" + lookupAction.ToString() + " is not a valid state for LookupCustomer");
            }

            this.executeNextState();
        }
Exemple #55
0
        public override bool GetResults(string keywords, string imdbID, bool skipImages)
        {
            bool _result = false;

            // create a WCF Amazon ECS client
            BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);

            binding.MaxReceivedMessageSize = int.MaxValue;
            AWSECommerceServicePortTypeClient client = new AWSECommerceServicePortTypeClient(
                binding,
                new EndpointAddress(TargetUrl));

            // add authentication to the ECS client
            client.ChannelFactory.Endpoint.Behaviors.Add(new AmazonSigningEndpointBehavior(accessKeyId, secretKey));

            // prepare an ItemSearch request
            ItemSearchRequest request = new ItemSearchRequest();

            //request.Count = "1";
            request.Condition   = ThumbGen.Amazon.ECS.Condition.All;
            request.SearchIndex = this.SearchIndex;
            //request.Title = title;
            request.Keywords      = keywords;//title.Replace(" ", "%20");
            request.ResponseGroup = new string[] { "Small", "Images" };

            ItemSearch itemSearch = new ItemSearch();

            itemSearch.Request        = new ItemSearchRequest[] { request };
            itemSearch.AWSAccessKeyId = accessKeyId;
            itemSearch.AssociateTag   = associatedTag;

            // issue the ItemSearch request
            ItemSearchResponse response = null;

            try
            {
                response = client.ItemSearch(itemSearch);
            }
            catch
            {
                return(_result);
            }
            if (response == null)
            {
                response = client.ItemSearch(itemSearch);
            }
            if (response != null)
            {
                // prepare the ResultsList
                if (response.Items[0] != null && response.Items[0].Item != null)
                {
                    foreach (Item item in response.Items[0].Item)
                    {
                        if (FileManager.CancellationPending)
                        {
                            return(ResultsList.Count != 0);
                        }
                        string _imageUrl = item.LargeImage == null ? string.Empty : item.LargeImage.URL;
                        if (!string.IsNullOrEmpty(_imageUrl))
                        {
                            ResultMovieItem _movieItem = new ResultMovieItem(null, item.ItemAttributes.Title, _imageUrl, CollectorName);
                            _movieItem.MovieInfo = GetMovieInfo(item);
                            ResultsList.Add(_movieItem);
                        }
                    }
                    _result = true;
                }
            }

            return(_result);
        }
Exemple #56
0
        private const string assocTag    = "";                                         /*!< This is the associate tag for the connection */

        //! This is the method that defines a search and sends a request to Amazon

        /**
         * It contains code obtained from the "Product Advertising API Getting
         * Started Guide API Version 2011-08-01" found at
         * http://aws.amazon.com/archives/Product-Advertising-API/.
         */
        public static void SendRequest()
        {
            // Get searchIndex and keywords from the command line
            string searchIndex = "DVD";
            string keywords    = "Matrix";
            // Create an instance of the Product Advertising API service
            AWSECommerceServicePortTypeClient ecs = new AWSECommerceServicePortTypeClient();

            /* Error:
             * An endpoint configuration section for contract 'amazon.ecs.AWSECommerceServicePortType'
             * could not be loaded because more than one endpoint configuration for that contract was
             * found. Please indicate the preferred endpoint configuration section by name.
             */

            // Create ItemSearch wrapper
            ItemSearch search = new ItemSearch();

            //search.AssociateTag = assocTag;
            search.AWSAccessKeyId = accessKeyId;
            // Create a request object
            ItemSearchRequest request = new ItemSearchRequest();

            // Fill request object with request parameters
            request.ResponseGroup = new string[] { "ItemAttributes" };
            // Set SearchIndex and Keywords
            request.SearchIndex = searchIndex;
            request.Keywords    = keywords;
            // Set the request on the search wrapper
            search.Request = new ItemSearchRequest[] { request };
            Console.WriteLine(request.Keywords);
            try
            {
                //Send the request and store the response in response
                Console.WriteLine("try...");

                //ItemLookup itemLookup = new ItemLookup();
                //ItemLookupRequest itemLookupRequest = new ItemLookupRequest();
                //itemLookupRequest.SearchIndex = "DVD";
                //itemLookupRequest.ItemId = new string[] { "B005OCFGTO" };
                //itemLookupRequest.ResponseGroup = new string[] { "ItemAttributes" };
                //itemLookup.Request = new ItemLookupRequest[] { itemLookupRequest };
                //itemLookup.AWSAccessKeyId = accessKeyId;
                //ItemLookupResponse response = ecs.ItemLookup(itemLookup);

                ItemSearchResponse response = ecs.ItemSearch(search);
                //Check for null response
                if (response == null)
                {
                    throw new Exception("Server Error - no response recieved!");
                }
                //ItemSearchResult[] itemsArray = response.GetItemSearchResult;
                if (response.OperationRequest.Errors != null)
                {
                    throw new Exception(response.OperationRequest.Errors[0].Message);
                }
                Console.WriteLine("Response: " + response.ToString());
                Console.WriteLine("Length: " + response.Items.Length);
            }
            catch (Exception e)
            {
                Console.WriteLine("...catch");
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("Err: " + e.Message);
                Console.WriteLine("Type: " + e.GetType());
                Console.WriteLine("Inner Exception: " + e.InnerException.Message);
                Console.ForegroundColor = ConsoleColor.White;
                // http://www.webdesigncompany.co.uk/blog/2011/10/5/using-the-new-amazon-product-api-wsdl-with-microsoftwebservices3/
                // Err: The remote server returned an unexpected response: (400) Bad Request.

                /*
                 * ==Error==                    ==Description==
                 * IncompleteSignature          The request signature does not conform to AWS standards.
                 *
                 * InvalidAction                The action or operation requested is invalid.
                 *
                 * InvalidParameterCombination  Parameters that must not be used together were used together.
                 *
                 * InvalidParameterValue        A bad or out-of-range value was supplied for the input parameter.
                 *
                 * InvalidQueryParameter        AWS query string is malformed, does not adhere to AWS standards.
                 *
                 * MissingAction                The request is missing an action or operation parameter.
                 *
                 * MissingParameter             An input parameter that is mandatory for processing the
                 *                              request is not supplied.
                 *
                 * RequestExpired               Request is past expires date or the request date
                 *                              (either with 15 minute padding), or the request date
                 *                              occurs more than 15 minutes in the future.
                 *
                 * Throttling                   Request was denied due to request throttling.
                 */
            }
            Console.WriteLine("Press any key to quit...");
            //Console.ReadKey();
        }
        public Dictionary<string, double> getBins(string SKU)
        {
            NetSuiteService objService = new NetSuiteService();
            objService.CookieContainer = new CookieContainer();
            Passport passport = new Passport();
            passport.account = "3451682";
            passport.email = "*****@*****.**";
            RecordRef role = new RecordRef();
            role.internalId = "1026";
            passport.role = role;
            passport.password = "******";
            Passport objPassport = passport;
            Status objStatus = objService.login(objPassport).status;

            ItemSearchAdvanced isa = new ItemSearchAdvanced();
            isa.savedSearchId = "141";  //substitute your own saved search internal ID
            ItemSearch iS = new ItemSearch();
            ItemSearchBasic isb = new ItemSearchBasic();

            SearchStringField itemSKU = new SearchStringField();
            itemSKU.searchValue = SKU;
            itemSKU.@operator = SearchStringFieldOperator.contains;
            itemSKU.operatorSpecified = true;
            isb.itemId = itemSKU;
            iS.basic = isb;
            isa.criteria = iS;

            SearchResult sr = new SearchResult();
            sr = objService.search(isa);

            if (sr.status.isSuccess != true) throw new Exception("Cannot find item.");

            Dictionary<string, double> binNumberList = new Dictionary<string, double>();

            foreach (ItemSearchRow irow in sr.searchRowList)
            {
                if (irow.basic.itemId[0].searchValue == SKU)
                {
                    binNumberList.Add(irow.basic.binNumber[0].searchValue, irow.basic.binOnHandAvail[0].searchValue);
                }
            }

            return binNumberList;
        }
Exemple #58
-1
        private Items[] searchAmazonItems(String keyword, int startPage, int endPage)
        {
            List<ItemSearchRequest> itemSearchRequests = new List<ItemSearchRequest>();
            
            ItemSearch itemSearch = new ItemSearch();
            itemSearch.AWSAccessKeyId = Settings.AMAZON_ACCESS_KEY_ID;
            itemSearch.AssociateTag = Settings.AMAZON_ASSOCATE_TAG;
            
            // Valmistan otsingute päringud ette
            for (int i = startPage; i <= endPage; i++)
            {
                itemSearchRequests.Add(getItemSearchRequest(keyword, i));
            }

            itemSearch.Request = itemSearchRequests.ToArray();

            // Otsin esemeid
            ItemSearchResponse response = client.ItemSearch(itemSearch);
            return response.Items;
        }