All pastes #178183 Raw Edit

Unnamed

public text v1 · immutable
#178183 ·published 2006-09-21 01:56 UTC
rendered paste body
Imports Microsoft.VisualBasic
Imports System.Data
Imports System.Xml

''' <summary>
''' Summary description for AmazonAccess
''' </summary>
''' <remarks></remarks>
Public Class AmazonAccess
    Public Sub New()
        ''
        '' TODO: Add constructor login here
        ''
    End Sub

    Private Shared Function GetResponseTable() As DataTable
        Dim dt As DataTable = New DataTable()
        dt.Columns.Add(New DataColumn("ASIN", Type.GetType("System.String")))
        dt.Columns.Add(New DataColumn("ProductName", Type.GetType("System.String")))
        dt.Columns.Add(New DataColumn("ProductPrice", Type.GetType("System.String")))
        dt.Columns.Add(New DataColumn("ProductImageUrl", Type.GetType("System.String")))
        Return dt
    End Function

    Private Shared Function GetAmazonDataWithSoap() As DataTable
        Dim amazonService As AWSECommerseService = New AWSECommerseService();
        Dim itemSearch As ItemSearch = New ItemSearch()
        Dim itemSearchRequest As ItemSearchRequest = New ItemSearchRequest()
        Dim itemSearchResponse As ItemSearchResponse
        itemSearch.SubscriptionId = BalloonShopConfiguration.SubscriptionId
        itemSearchRequest.Keywords = BalloonShopConfiguration.SearchKeywords
        itemSearchRequest.SearchIndex = BalloonShopConfiguration.SearchIndex
        itemSearchRequest.ResponseGroup = BalloonShopConfiguration.ResponseGroups.Split(',');
        itemSearch.Request = New AmazonEcs.ItemSearchRequest(1) {itemSearchRequest}
        Dim responseTable As DataTable = GetResponseTable()
        Try
            itemSearchResponse = amazonService.ItemSearch(itemSearch)
            Dim results As Item() = itemSearchResponse.Items(0).Item;
            Dim item As AmazonEcs.Item
            For Each item In results
                Try
                    Dim dataRow As DataRow = responseTable.NewRow()
                    dataRow("ASIN") = item.ASIN
                    dataRow("ProductName") = item.ItemAttributes.Title
                    dataRow("ProductImageUrl") = item.SmallImge.URL
                    dataRow("ProductPrice") = item.OfferSummary.LowestNewPrice.FormattedPrice
                    responseTable.Rows.Add(dataRow)
                Catch ex As Exception

                End Try
            Next
        Catch ex As Exception

        End Try
        Return responseTable
    End Function
    Public Shared Function GetAmazonDataWithRest() As DataTable
        Dim responseTable As DataTable = GetResponseTable()
        Dim amazonRequest As String = string.Format("{0}&SubscriptionId={1}&Operation=ItemSearch&Keywords={2}&SearchIndex={3}&ResponseGroup={4}",
        BalloonShopConfiguration.AmazonRestUrl,
        BalloonShopConfiguration.SubscriptionId,
        BalloonShopConfiguration.SearchKeywords,
        BalloonShopConfiguration.ResponseGroups)
        Try
            Dim responseXmlDoc As XmlDocument = New XmlDocument()
            responseXmlDoc.Load(amazonRequest)
            Dim xnm As XmlNamespaceManager = New XmlNamespaceManager(responseXmlDoc.NameTable)
            xnm.AddNamespace("amz", "http://webservices.amazon.com/AWSECommerseService/2005-07026")
            Dim itemNodes As XmlNodeList = responseXmlDoc.SelectNodes("amz:ItemSearchResponse/amz:Items/amz:Item", xnm)
            Dim itemNode As XmlNode
            For Each itemNode In itemNodes
                Try
                    Dim dataRow As DataRow = responseTable.NewRow()
                    dataRow("ASIN") = itemNode("ASIN").InnerText
                    dataRow("ProductName") = itemNode("ItemAttributes")("Title").InnerText
                    dataRow("ProductImageUrl") = itemNode("SmallImage")("URL").InnerText
                    dataRow("ProductPrice") = itemNode("OfferSummary")("LowerNewPRice")("FormattedPrice").InnerText
                    responseTable.Rows.Add(dataRow)
                Catch ex As Exception

                End Try
            Next
        Catch ex As Exception

        End Try
        Return responseTable
    End Function
End Class