⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cart.vb

📁 编程之道VB.NETt程序设计入门-589M.zip
💻 VB
字号:
Imports Nozama.BusinessLogic
Imports Nozama.DataAccess
Imports Nozama.General

Public Class Cart

    Private orderDS As OrderData

    Public Sub New()
        orderDS = New OrderData()
    End Sub

    Public ReadOnly Property IsEmpty() As Boolean
        Get
            Return OrderDetail.Rows.Count = 0
        End Get
    End Property

    Public ReadOnly Property OrderDetail() As DataTable
        Get
            Return orderDS.Tables(OrderData.ORDER_BOOK_TABLE)
        End Get
    End Property

    Public Sub AddBook(ByVal bookID As Int32, ByVal bookPrice As Decimal, ByVal bookDescription As String)
        Dim orderDetail As DataTable
        Dim detailView As DataView

        orderDetail = Me.OrderDetail
        detailView = New DataView(orderDetail)
        detailView.RowFilter = OrderData.BOOK_ID & " = " & bookID

        If detailView.Count > 0 Then
            Dim count As Integer
            count = detailView.Item(0).Item(OrderData.QUANTITY)
            count += 1
            detailView.Item(0).Item(OrderData.QUANTITY) = count
        Else
            Dim dr As DataRow = orderDetail.NewRow()
            dr(OrderData.BOOK_ID) = bookID
            dr(OrderData.PRICE) = bookPrice
            dr(OrderData.DESCRIPTION) = bookDescription
            dr(OrderData.QUANTITY) = 1
            orderDetail.Rows.Add(dr)
        End If
    End Sub

    Public Sub AddCustomer(ByVal customerName As String, ByVal address As String, ByVal creditCardNum As String)
        With orderDS.Tables(OrderData.ORDERS_TABLE)
            Dim dr As DataRow = .NewRow()
            dr.Item(OrderData.CUSTOMER_NAME) = customerName
            dr.Item(OrderData.ADDRESS) = address
            dr.Item(OrderData.CREDIT_CARD_NUMBER) = creditCardNum

            .Rows.Add(dr)
        End With
    End Sub

    Public Sub UpdataCart()
        Dim row As DataRow
        Dim i As Integer = 0

        With orderDS.Tables(OrderData.ORDER_BOOK_TABLE)
            Dim rowCount As Integer = .Rows.Count
            Do While (i < rowCount)
                row = .Rows(i)
                If Int32.Parse(row.Item(OrderData.QUANTITY)) < 1 Then
                    .Rows.Remove(row)
                    rowCount -= 1
                End If
                i += 1
            Loop
        End With
    End Sub

    Public Sub ClearOrder()
        orderDS.Tables(OrderData.ORDERS_TABLE).Clear()
        orderDS.Tables(OrderData.ORDER_BOOK_TABLE).Clear()
    End Sub

    Public ReadOnly Property Order() As OrderData
        Get
            Dim blOrder As New OrderLogic()
            orderDS = blOrder.BuildOrderData(orderDS)
            orderDS.Tables(OrderData.ORDERS_TABLE).Rows(0).Item(OrderData.ORDER_DATE) = DateTime.Now

            Return orderDS
        End Get
    End Property
End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -