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

📄 shoppingcart.vb

📁 采用Visual Bacis.NET开发的电子商务系统.
💻 VB
字号:
Imports System
Imports System.Data
Imports System.Data.SqlClient

Namespace Services

    Public Class ShoppingCart

        Private Connstring As String = _
        "Data Source=localhost;Initial Catalog=store;user id=sa;pwd=sa"

        Public Sub AddItem(ByVal CartID As String, ByVal ProductID As String, _
        ByVal Quantity As Integer)
            Dim sqlcmdAddItem As New SqlCommand("sp_ShoppingCart_AddItem")
            With sqlcmdAddItem
                .CommandType = CommandType.StoredProcedure
                With .Parameters
                    .Add("@strCartID", SqlDbType.NVarChar, 50)
                    .Add("@strProductID", SqlDbType.Char, 38)
                    .Add("@intQuantity", SqlDbType.Int, 4)
                    .Item("@strCartID").Value = CartID
                    .Item("@strProductID").Value = ProductID
                    .Item("@intQuantity").Value = Quantity
                End With
            End With
            Dim sqlconShoppingCart As New SqlConnection(Connstring)
            sqlconShoppingCart.Open()
            sqlcmdAddItem.Connection = sqlconShoppingCart
            sqlcmdAddItem.ExecuteNonQuery()
            sqlconShoppingCart.Close()
        End Sub

        Public Sub UpdateItem(ByVal CartID As String, _
        ByVal ProductID As String, ByVal Quantity As Integer)
            If Quantity < 0 Then
                Throw New Exception("数量不能为负数!")
            End If
            Dim sqlcmdAddItem As New SqlCommand("sp_ShoppingCart_UPD")
            With sqlcmdAddItem
                .CommandType = CommandType.StoredProcedure
                With .Parameters
                    .Add("@strCartID", SqlDbType.NVarChar, 50)
                    .Add("@strProductID", SqlDbType.Char, 38)
                    .Add("@intQuantity", SqlDbType.Int, 4)
                    .Item("@strCartID").Value = CartID
                    .Item("@strProductID").Value = ProductID
                    .Item("@intQuantity").Value = Quantity
                End With
            End With
            Dim sqlconShoppingCart As New SqlConnection(Connstring)
            sqlconShoppingCart.Open()
            sqlcmdAddItem.Connection = sqlconShoppingCart
            sqlcmdAddItem.ExecuteNonQuery()
            sqlconShoppingCart.Close()
        End Sub

        Public Sub ClearCart(ByVal CartID As String)
            Dim sqlcmdAddItem As New SqlCommand("sp_ShoppingCart_DEL")
            With sqlcmdAddItem
                .CommandType = CommandType.StoredProcedure
                With .Parameters
                    .Add("@strCartID", SqlDbType.NVarChar, 50)
                    .Item("@strCartID").Value = CartID
                End With
            End With
            Dim sqlconShoppingCart As New SqlConnection(Connstring)
            sqlconShoppingCart.Open()
            sqlcmdAddItem.Connection = sqlconShoppingCart
            sqlcmdAddItem.ExecuteNonQuery()
            sqlconShoppingCart.Close()
        End Sub

        Public Sub RemoveItem(ByVal CartID As String, ByVal ProductID As String)
            Dim sqlcmdAddItem As New SqlCommand("sp_ShoppingCart_RemItem")
            With sqlcmdAddItem
                .CommandType = CommandType.StoredProcedure
                With .Parameters
                    .Add("@strCartID", SqlDbType.NVarChar, 50)
                    .Add("@strProductID", SqlDbType.Char, 38)
                    .Item("@strCartID").Value = CartID
                    .Item("@strProductID").Value = ProductID
                End With
            End With
            Dim sqlconShoppingCart As New SqlConnection(Connstring)
            sqlconShoppingCart.Open()
            sqlcmdAddItem.Connection = sqlconShoppingCart
            sqlcmdAddItem.ExecuteNonQuery()
            sqlconShoppingCart.Close()
        End Sub

        Public Function ItemsCount(ByVal strCartID As String) As Integer
            Dim sqlcmdItemCount As New SqlCommand("sp_ShoppingCart_ItemsCount")
            With sqlcmdItemCount
                .CommandType = CommandType.StoredProcedure
                With .Parameters
                    .Add("@strCartID", SqlDbType.NVarChar, 50)
                    .Item("@strCartID").Value = strCartID
                End With
            End With
            Dim dsCartItems As New DataSet()
            dsCartItems.Clear()
            Dim Count As Integer
            Dim sqlconShoppingCart As New SqlConnection(Connstring)
            sqlcmdItemCount.Connection = sqlconShoppingCart
            Dim sqladpCategories As New SqlDataAdapter(sqlcmdItemCount)
            sqladpCategories.Fill(dsCartItems, "ItemsCount")
            Count = dsCartItems.Tables("ItemsCount").Rows.Count
            Return Count
        End Function

        Public Function SubTotal(ByVal strCartID As String) As Double
            Dim sqlcmdAddItem As New SqlCommand("sp_ShoppingCart_SubTotal")
            With sqlcmdAddItem
                .CommandType = CommandType.StoredProcedure
                With .Parameters
                    .Add("@strCartID", SqlDbType.NVarChar, 50)
                    .Add("@TotalCost", SqlDbType.Money, 8)
                    .Item("@strCartID").Value = strCartID
                    .Item("@TotalCost").Direction = ParameterDirection.Output
                End With
            End With
            Dim sqlconShoppingCart As New SqlConnection(Connstring)
            sqlconShoppingCart.Open()
            sqlcmdAddItem.Connection = sqlconShoppingCart
            sqlcmdAddItem.ExecuteNonQuery()
            sqlconShoppingCart.Close()
            If sqlcmdAddItem.Parameters("@TotalCost").Value.ToString <> "" Then
                Return Val(sqlcmdAddItem.Parameters("@TotalCost").Value)
            Else
                Return 0
            End If
        End Function

        Public Sub Migrate(ByVal OrigionCartID As String, ByVal NewCartID As String)
            Dim sqlcmdAddItem As New SqlCommand("sp_ShoppingCart_Migrate")
            With sqlcmdAddItem
                .CommandType = CommandType.StoredProcedure
                With .Parameters
                    .Add("@strOrigionCartID", SqlDbType.NVarChar, 50)
                    .Add("@strNewCartID", SqlDbType.NVarChar, 50)
                    .Item("@strOrigionCartID").Value = OrigionCartID
                    .Item("@strNewCartID").Value = NewCartID
                End With
            End With
            Dim sqlconShoppingCart As New SqlConnection(Connstring)
            sqlconShoppingCart.Open()
            sqlcmdAddItem.Connection = sqlconShoppingCart
            sqlcmdAddItem.ExecuteNonQuery()
            sqlconShoppingCart.Close()
        End Sub

        Public Function GetCartID() As String
            Dim curContext As System.Web.HttpContext = System.Web.HttpContext.Current
            If curContext.User.Identity.Name <> "" Then
                Return curContext.User.Identity.Name
            End If
            If Not curContext.Request.Cookies("CartID") Is Nothing Then
                Return curContext.Request.Cookies("CartID").Value
            Else
                Dim tempCartID As System.Guid = Guid.NewGuid
                curContext.Response.Cookies("CartID").Value = tempCartID.ToString
                Return tempCartID.ToString
            End If
        End Function

        Public Function GetItemsList( _
        ByVal strCartID As String) As SqlDataReader
            Dim sqlcmdItemCount As New SqlCommand("sp_ShoppingCart_ItemDetails")
            With sqlcmdItemCount
                .CommandType = CommandType.StoredProcedure
                With .Parameters
                    .Add("@strCartID", SqlDbType.NVarChar, 50)
                    .Item("@strCartID").Value = strCartID
                End With
            End With
            Dim Result As SqlDataReader
            Dim sqlconShoppingCart As New SqlConnection(Connstring)
            sqlconShoppingCart.Open()
            sqlcmdItemCount.Connection = sqlconShoppingCart
            Result = sqlcmdItemCount.ExecuteReader
            Return Result
        End Function
    End Class

End Namespace



⌨️ 快捷键说明

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