📄 categorycontroller.vb
字号:
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 + -