public IList <ICatalogueExtendedInfo> SearchAmazon(string searchTerms) { var searchArray = searchTerms.Split(','); IDictionary <string, string> searchParams = AmazonHelper.GetBaseSearchParams(Enums.SearchType.ArtistSearch); IList <ICatalogueExtendedInfo> returnArray = new List <ICatalogueExtendedInfo>(); foreach (var searchItem in searchArray) { SignedRequestHelper urlHelper = new SignedRequestHelper(this._accessID, this._secretKey, this._requestEndpoint, this._associateTag); searchParams["Artist"] = searchItem.Trim(); var restUrl = urlHelper.Sign(searchParams); XmlDocument xmlDoc = new XmlDocument(); try { xmlDoc.Load(restUrl); } catch (WebException ex) { //Log here throw; } var items = xmlDoc["ItemSearchResponse"]["Items"]; foreach (XmlNode item in items) { if (item.Name == "Item") { var newItem = AmazonHelper.GetNewCatalogueObjectFromXmlNode(item); if (newItem.Artist.ToLower() == searchItem.Trim()) { returnArray.Add(newItem); } } } if (returnArray.Count == 0) { ICatalogueExtendedInfo newItem = new CatalogueExtendedInfo { Artist = "None", Title = "None", PicUrl = "None available", ASIN = "", ReleaseDate = "", Price = 0, Url = "http://my-cue.co.uk" }; } } return(returnArray); }
public ICatalogueExtendedInfo LookupSearchString(string searchString, SearchIndex searchIndex) { string searchIndexString; var searchStringEncoded = HttpUtility.UrlEncode(searchString); IDictionary <string, string> searchParams = AmazonHelper.GetBaseSearchParams(Enums.SearchType.SearchTerm); ICatalogueExtendedInfo returnItem = new CatalogueExtendedInfo(); switch (searchIndex) { case SearchIndex.MP3: searchIndexString = "MP3Downloads"; break; case SearchIndex.CD: searchIndexString = "Music"; break; default: searchIndexString = "All"; break; } SignedRequestHelper urlHelper = new SignedRequestHelper(this._accessID, this._secretKey, this._requestEndpoint, this._associateTag); searchParams["Keywords"] = searchStringEncoded; searchParams["SearchIndex"] = searchIndexString; var restUrl = urlHelper.Sign(searchParams); XmlDocument xmlDoc = new XmlDocument(); try { xmlDoc.Load(restUrl); } catch (WebException ex) { //Log here throw; } var items = xmlDoc["ItemSearchResponse"]["Items"]; foreach (XmlNode item in items) { if (item.Name == "Item") { returnItem = AmazonHelper.GetNewCatalogueObjectFromXmlNode(item); break; } } return(returnItem); }
public ICatalogueExtendedInfo LookupASIN(string ASINNumber) { var itemNumber = HttpUtility.UrlEncode(ASINNumber); IDictionary <string, string> searchParams = AmazonHelper.GetBaseSearchParams(Enums.SearchType.ASIN); ICatalogueExtendedInfo returnItem = new CatalogueExtendedInfo(); SignedRequestHelper urlHelper = new SignedRequestHelper(this._accessID, this._secretKey, this._requestEndpoint, this._associateTag); searchParams["ItemId"] = ASINNumber; var restUrl = urlHelper.Sign(searchParams); XmlDocument xmlDoc = new XmlDocument(); try { xmlDoc.Load(restUrl); } catch (WebException ex) { //Log here throw; } var items = xmlDoc["ItemLookupResponse"]["Items"]; foreach (XmlNode item in items) { if (item.Name == "Item") { returnItem = AmazonHelper.GetNewCatalogueObjectFromXmlNode(item); break; } } return(returnItem); }