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

📄 paymentcontroller.vb

📁 C#语言制作asp.net网上商店的
💻 VB
字号:
Imports System.Text
Imports System.Collections
Imports NetShopForge.Common
Imports System.Data
Imports System.Data.Common
Imports Microsoft.Practices.EnterpriseLibrary.Data
Imports Microsoft.Practices.EnterpriseLibrary.Common


Namespace NetShopForge.Library.Payment
    Public Class PaymentController

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

        Public Function GetPaymentMethodList() As List(Of PaymentMethodInfo)
            '[nsf_Payment_GetPaymentMethodList]
            Dim db As Database = DatabaseFactory.CreateDatabase
            Dim dbCommand As DbCommand = db.GetStoredProcCommand("nsf_Payment_GetPaymentMethodList")

            Dim payList As New List(Of PaymentMethodInfo)

            Using reader As IDataReader = db.ExecuteReader(dbCommand)
                While reader.Read
                    payList.Add(FillPaymentMethodInfo(reader))
                End While
                Return payList
            End Using
        End Function

        Public Function AddPaymentMethod(ByVal payMethod As PaymentMethodInfo) As Integer

            Dim db As Database = DatabaseFactory.CreateDatabase()

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

            Dim PaymentMethodID As Integer = GetKeys("PaymentMethodID")
            db.AddInParameter(dbCommand, "@PaymentMethodID", DbType.Int32, PaymentMethodID)
            db.AddInParameter(dbCommand, "@PaymentGateway", DbType.Int32, payMethod.PaymentGateway)
            db.AddInParameter(dbCommand, "@paymentMethodName", DbType.String, payMethod.PaymentMethodName)
            db.AddInParameter(dbCommand, "@MerchantID", DbType.String, payMethod.MerchantID)
            db.AddInParameter(dbCommand, "@MerchantKey", DbType.String, payMethod.MerchantKey)
            db.AddInParameter(dbCommand, "@Currency", DbType.String, payMethod.Currency)
            db.AddInParameter(dbCommand, "@Button", DbType.Int32, payMethod.Button)
            db.AddInParameter(dbCommand, "@IsValid", DbType.Boolean, payMethod.IsValid)
            db.AddInParameter(dbCommand, "@Description", DbType.String, payMethod.Description)
            db.AddInParameter(dbCommand, "@Expressions", DbType.String, payMethod.Expressions)
            db.ExecuteNonQuery(dbCommand)
            Return PaymentMethodID
        End Function

        Public Sub UpdatePaymentMethod(ByVal payMethod As PaymentMethodInfo)

            Dim db As Database = DatabaseFactory.CreateDatabase()

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

            db.AddInParameter(dbCommand, "@PaymentMethodID", DbType.Int32, payMethod.PaymentMethodID)
            db.AddInParameter(dbCommand, "@PaymentGateway", DbType.Int32, payMethod.PaymentGateway)
            db.AddInParameter(dbCommand, "@paymentMethodName", DbType.String, payMethod.PaymentMethodName)
            db.AddInParameter(dbCommand, "@MerchantID", DbType.String, payMethod.MerchantID)
            db.AddInParameter(dbCommand, "@MerchantKey", DbType.String, payMethod.MerchantKey)
            db.AddInParameter(dbCommand, "@Currency", DbType.String, payMethod.Currency)
            db.AddInParameter(dbCommand, "@Button", DbType.Int32, payMethod.Button)
            db.AddInParameter(dbCommand, "@IsValid", DbType.Boolean, payMethod.IsValid)
            db.AddInParameter(dbCommand, "@Description", DbType.String, payMethod.Description)
            db.AddInParameter(dbCommand, "@Expressions", DbType.String, payMethod.Expressions)
            db.ExecuteNonQuery(dbCommand)
        End Sub
        Public Sub UpdatePaymentMethodQuick(ByVal paymentMethodID As Integer, ByVal isValid As Boolean, ByVal itemOrder As Integer)
            Dim sqlb As New StringBuilder
            sqlb.Append("UPDATE nsf_PaymentMethod SET ")
            sqlb.Append(String.Format(" IsValid={0},", IIf(isValid, 1, 0)))
            sqlb.Append(String.Format(" ItemOrder={0} ", itemOrder.ToString))
            sqlb.Append(String.Format(" WHERE PaymentMethodID={0}", paymentMethodID.ToString))
            Dim db As Database = DatabaseFactory.CreateDatabase
            db.ExecuteNonQuery(CommandType.Text, sqlb.ToString)
        End Sub
        Public Sub DeletePaymentMethod(ByVal paymentMethodID As Integer)
            Dim sql As String = String.Format("DELETE PaymentMethod WHERE PaymentMethodID={0} ", paymentMethodID.ToString)
            Dim db As Database = DatabaseFactory.CreateDatabase
            db.ExecuteNonQuery(CommandType.Text, sql)
        End Sub

        Public Function GetPaymentMethodList(ByVal PaymentMethodCollection As String()) As List(Of PaymentMethodInfo)
            '[nsf_Payment_GetPaymentMethodList]
            Dim db As Database = DatabaseFactory.CreateDatabase
            Dim dbCommand As DbCommand = db.GetStoredProcCommand("nsf_Payment_GetPaymentMethodList")
            Dim sb As New StringBuilder
            Dim sPaymentMethodID As String
            For Each sPaymentMethodID In PaymentMethodCollection
                sb.Append(String.Format(",{0}", sPaymentMethodID))
            Next
            Dim sql As String = String.Format("PaymentMethodID IN ({0})", sb.ToString.Substring(1))
            db.AddInParameter(dbCommand, "@strWhere", DbType.String, sql)

            Dim payList As New List(Of PaymentMethodInfo)

            Using reader As IDataReader = db.ExecuteReader(dbCommand)
                While reader.Read
                    payList.Add(FillPaymentMethodInfo(reader))
                End While
                Return payList
            End Using
        End Function
        Public Function GetPaymentMethodInfo(ByVal paymentMethodID As Integer) As PaymentMethodInfo
            Dim db As Database = DatabaseFactory.CreateDatabase
            Dim dbCommand As DbCommand = db.GetStoredProcCommand("nsf_Payment_GetPaymentMethod")

            db.AddInParameter(dbCommand, "@PaymentMethodID", DbType.Int32, paymentMethodID)

            Using reader As IDataReader = db.ExecuteReader(dbCommand)
                While reader.Read
                    Return FillPaymentMethodInfo(reader)
                End While
                Return Nothing
            End Using
        End Function
        Public Function GetPaymentMethodInfo(ByVal paymentGateway As PaymentGateway) As PaymentMethodInfo
            Dim db As Database = DatabaseFactory.CreateDatabase
            Dim dbCommand As DbCommand = db.GetStoredProcCommand("nsf_Payment_GetPaymentMethod")

            db.AddInParameter(dbCommand, "@PaymentGateway", DbType.Int32, CInt(paymentGateway))

            Using reader As IDataReader = db.ExecuteReader(dbCommand)
                While reader.Read
                    Return FillPaymentMethodInfo(reader)
                End While
                Return Nothing
            End Using
        End Function
        Public Function WriteSendString(ByVal gatewayURL As String, ByVal parameterValues As Generic.Dictionary(Of String, String)) As String
            Dim sb As New StringBuilder
            Dim parameter As String
            sb.Append(String.Format("<form name=""paymentpost"" method=""post"" action=""{0}"">", gatewayURL))
            If parameterValues.Count = 0 Then Return ""
            For Each parameter In parameterValues.Keys
                sb.Append(String.Format("<input id=""{0}"" name=""{0}"" type=""hidden""  value=""{1}"">", parameter, parameterValues.Item(parameter)))
            Next
            sb.Append("</form>")
            sb.Append("<script language=""JavaScript"">document.paymentpost.submit();</script>")
            Return sb.ToString

        End Function
        Public Function WriteSendString(ByVal URL As String) As String
            Return String.Format("<script language='javascript'>location='{0}'</script>", URL)
        End Function


#Region "---Private Method---"

        Private Function FillPaymentMethodInfo(ByVal dr As IDataReader) As PaymentMethodInfo

            Dim objpay As New PaymentMethodInfo

            objpay.Button = Utility.GetInt32(dr, "Button")
            objpay.Currency = Utility.GetString(dr, "Currency")
            objpay.Description = Utility.GetString(dr, "Description")
            objpay.Expressions = Utility.GetString(dr, "Expressions")

            objpay.IsValid = Utility.GetBoolean(dr, "IsValid")
            objpay.ItemOrder = Utility.GetInt32(dr, "ItemOrder")

            objpay.MerchantID = Utility.GetString(dr, "MerchantID")
            objpay.MerchantKey = Utility.GetString(dr, "MerchantKey")
            objpay.PaymentGateway = CType(Utility.GetInt32(dr, "PaymentGateway"), PaymentGateway)
            objpay.PaymentMethodID = Utility.GetInt32(dr, "PaymentMethodID")
            objpay.PaymentMethodName = Utility.GetString(dr, "PaymentMethodName")

            Return objpay

        End Function

#End Region
    End Class
End Namespace

⌨️ 快捷键说明

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