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

📄 categorycontroller.vb

📁 C#语言制作asp.net网上商店的
💻 VB
📖 第 1 页 / 共 2 页
字号:
Imports Microsoft.VisualBasic
Imports System.Data
Imports System.Data.Common
Imports Microsoft.Practices.EnterpriseLibrary.Data
Imports Microsoft.Practices.EnterpriseLibrary.Common
Imports NetShopForge.Common.Globals


Imports System.Text


Namespace NetShopForge.Library.Category

    Public Class CategoryController

        Private Shared _Instance As CategoryController

#Region "Public Method"
        Public Function AddCategory(ByVal categoryInfo As CategoryInfo) As Integer
            Dim db As Database = DatabaseFactory.CreateDatabase()

            Dim sqlCommand As String = "nsf_Category_AddCategory"
            Dim dbCommand As DbCommand = db.GetStoredProcCommand(sqlCommand)

            Dim CategoryID As Integer = GetKeys("CategoryID")

            db.AddInParameter(dbCommand, "@CategoryID", DbType.String, CategoryID.ToString)
            db.AddInParameter(dbCommand, "@CategoryName", DbType.String, categoryInfo.CategoryName)
            db.AddInParameter(dbCommand, "@CategoryFatherID", DbType.Int32, categoryInfo.CategoryFatherID)
            db.AddInParameter(dbCommand, "@Description", DbType.String, categoryInfo.Description)
            db.AddInParameter(dbCommand, "@ItemOrder", DbType.Int32, categoryInfo.ItemOrder)
            db.AddInParameter(dbCommand, "@ImagePath", DbType.String, categoryInfo.ImagePath)
            db.AddInParameter(dbCommand, "@IsValid", DbType.Boolean, categoryInfo.IsValid)
            db.AddInParameter(dbCommand, "@MetaDescription", DbType.String, categoryInfo.MetaDescription)
            db.AddInParameter(dbCommand, "@MetaKeywords", DbType.String, categoryInfo.MetaKeywords)
            db.ExecuteNonQuery(dbCommand)
            Return CategoryID

        End Function
        Public Sub DeleteCategory(ByVal CategoryID As Integer)
            Dim db As Database = DatabaseFactory.CreateDatabase()

            Dim sqlCommand As String = "nsf_Category_DeleteCategory"
            Dim dbCommand As DbCommand = db.GetStoredProcCommand(sqlCommand)

            db.AddInParameter(dbCommand, "@CategoryID", DbType.String, CategoryID.ToString)
            db.ExecuteNonQuery(dbCommand)

        End Sub
        Public Sub UpdateCategoryQuick(ByVal categoryID As Integer, ByVal itemOrder As Integer, ByVal isValid As Boolean)

            Dim db As Database = DatabaseFactory.CreateDatabase()

            Dim sqlCommand As String = "nsf_Category_UpdateCategoryQuick"
            Dim dbCommand As DbCommand = db.GetStoredProcCommand(sqlCommand)

            db.AddInParameter(dbCommand, "@CategoryID", DbType.String, categoryID.ToString)
            db.AddInParameter(dbCommand, "@ItemOrder", DbType.Int32, itemOrder)
            db.AddInParameter(dbCommand, "@IsValid", DbType.Boolean, isValid)

            db.ExecuteNonQuery(dbCommand)

        End Sub
        Public Sub UpdateCategory(ByVal categoryInfo As CategoryInfo)
            Dim db As Database = DatabaseFactory.CreateDatabase()

            Dim sqlCommand As String = "nsf_Category_UpdateCategory"
            Dim dbCommand As DbCommand = db.GetStoredProcCommand(sqlCommand)

            db.AddInParameter(dbCommand, "@CategoryID", DbType.String, categoryInfo.CategoryID)
            db.AddInParameter(dbCommand, "@CategoryName", DbType.String, categoryInfo.CategoryName)
            db.AddInParameter(dbCommand, "@CategoryFatherID", DbType.Int32, categoryInfo.CategoryFatherID)
            db.AddInParameter(dbCommand, "@Description", DbType.String, categoryInfo.Description)
            db.AddInParameter(dbCommand, "@ItemOrder", DbType.Int32, categoryInfo.ItemOrder)
            db.AddInParameter(dbCommand, "@ImagePath", DbType.String, categoryInfo.ImagePath)
            db.AddInParameter(dbCommand, "@IsValid", DbType.Boolean, categoryInfo.IsValid)
            db.AddInParameter(dbCommand, "@MetaDescription", DbType.String, categoryInfo.MetaDescription)
            db.AddInParameter(dbCommand, "@MetaKeywords", DbType.String, categoryInfo.MetaKeywords)
            db.ExecuteNonQuery(dbCommand)
        End Sub


        Public Function IsValidCategoryFatherID(ByVal fatherCategoryID As Integer, ByVal categoryID As Integer) As Boolean
            Dim db As Database = DatabaseFactory.CreateDatabase()

            Dim sqlCommand As String = "nsf_Category_UpdateCategory"
            Dim dbCommand As DbCommand = db.GetStoredProcCommand(sqlCommand)

            db.AddInParameter(dbCommand, "@CategoryID", DbType.String, categoryID)
            Using r As IDataReader = db.ExecuteReader(dbCommand)
                While r.Read
                    If CInt(r("CategoryID")) = fatherCategoryID Then Return False
                End While
            End Using
            Return True
        End Function
#End Region

#Region "Shared Method"
        Public Shared ReadOnly Property Instance() As CategoryController
            Get
                If IsNothing(_Instance) Then
                    _Instance = New CategoryController
                End If
                Return _Instance
            End Get
        End Property

        ''' <summary>
        ''' get all category store in dataset
        ''' </summary>
        ''' <returns>all category</returns>
        ''' <remarks></remarks>
        Public Shared Function GetCategoryList() As DataSet
            Return GetCategoryList(-2)
        End Function

        Public Shared Function GetCategoryList(ByVal categoryFatherID As Integer) As DataSet
            Dim db As Database = DatabaseFactory.CreateDatabase()

            Dim sqlCommand As String = "nsf_Category_GetCategoryList"
            Dim dbCommand As DbCommand = db.GetStoredProcCommand(sqlCommand)

            ' Retrieve products from the specified category.
            db.AddInParameter(dbCommand, "CategoryFatherID", DbType.Int32, categoryFatherID)

            ' DataSet that will hold the returned results		
            Dim productsDataSet As DataSet = Nothing

            productsDataSet = db.ExecuteDataSet(dbCommand)

            ' Note: connection was closed by ExecuteDataSet method call 

            Return productsDataSet
        End Function

        Public Shared Function GetCategoryChildList(ByVal categoryID As Integer) As String
            Dim db As Database = DatabaseFactory.CreateDatabase
            Dim dbCommand As DbCommand = db.GetStoredProcCommand("nsf_Category_GetCategoryChildList")
            db.AddInParameter(dbCommand, "@categoryID", DbType.Int32, categoryID)
            Dim sb As New StringBuilder
            Using reader As IDataReader = db.ExecuteReader(dbCommand)
                While reader.Read
                    sb.Append(String.Format(",{0}", reader.Item("CategoryID").ToString))
                End While
            End Using
            If sb.Length = 0 Then Return ""
            Return sb.ToString.Substring(1)

        End Function

        Public Shared Function GetCategoryDictionary() As Generic.Dictionary(Of Integer, String)
            Dim cDictionary As New Dictionary(Of Integer, String)
            GetCategoryDictionary(cDictionary, -1, "")
            Return cDictionary
        End Function

        Public Shared Function GetCategory(ByVal categoryID As Integer) As CategoryInfo

            Dim db As Database = DatabaseFactory.CreateDatabase
            Dim dbCommand As DbCommand = db.GetStoredProcCommand("nsf_Category_GetCategory")

            db.AddInParameter(dbCommand, "@CategoryID", DbType.Int32, categoryID)
            Using reader As IDataReader = db.ExecuteReader(dbCommand)
                While reader.Read
                    Return FillCategoryInfo(reader)
                End While
                Return Nothing
            End Using

        End Function
        Public Shared Function GetCategoryFullName(ByVal categoryID As Integer) As String
            Dim db As Database = DatabaseFactory.CreateDatabase
            Dim dbCommand As DbCommand = db.GetStoredProcCommand("nsf_Category_GetCategoryFatherList")
            ' Add paramters
            ' Input parameters can specify the input value
            db.AddInParameter(dbCommand, "@CategoryID", DbType.Int32, categoryID)
            'Dim FeatureList As New List(Of ProductFeatureInfo)

⌨️ 快捷键说明

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