Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports Microsoft.ApplicationBlocks.Data
Imports DotNetNuke
Namespace myComany.Modules.ActiveMembers
Public Class SqlDataProvider
Inherits DataProvider
#Region "Private Members"
Private Const ProviderType As String = "data"
Private Const ModuleQualifier As String = "myComany_"
Private _providerConfiguration As Framework.Providers.ProviderConfiguration = Framework.Providers.ProviderConfiguration.GetProviderConfiguration(ProviderType)
Private _connectionString As String
Private _providerPath As String
Private _objectQualifier As String
Private _databaseOwner As String
#End Region
#Region "Constructors"
Public Sub New()
' Read the configuration specific information for this provider
Dim objProvider As Framework.Providers.Provider = CType(_providerConfiguration.Providers(_providerConfiguration.DefaultProvider), Framework.Providers.Provider)
' Read the attributes for this provider
If objProvider.Attributes("connectionStringName") <> "" AndAlso _
System.Configuration.ConfigurationManager.AppSettings(objProvider.Attributes("connectionStringName")) <> "" Then
_connectionString = System.Configuration.ConfigurationManager.AppSettings(objProvider.Attributes("connectionStringName"))
Else
_connectionString = objProvider.Attributes("connectionString")
End If
_providerPath = objProvider.Attributes("providerPath")
_objectQualifier = objProvider.Attributes("objectQualifier")
If _objectQualifier <> "" And _objectQualifier.EndsWith("_") = False Then
_objectQualifier += "_"
End If
_databaseOwner = objProvider.Attributes("databaseOwner")
If _databaseOwner <> "" And _databaseOwner.EndsWith(".") = False Then
_databaseOwner += "."
End If
End Sub
#End Region
#Region "Properties"
Public ReadOnly Property ConnectionString() As String
Get
Return _connectionString
End Get
End Property
Public ReadOnly Property ProviderPath() As String
Get
Return _providerPath
End Get
End Property
Public ReadOnly Property ObjectQualifier() As String
Get
Return _objectQualifier
End Get
End Property
Public ReadOnly Property DatabaseOwner() As String
Get
Return _databaseOwner
End Get
End Property
#End Region
#Region "Private Methods"
Private Function GetFullyQualifiedName(ByVal name As String) As String
Return DatabaseOwner & ObjectQualifier & ModuleQualifier & name
End Function
Private Function GetNull(ByVal Field As Object) As Object
Return DotNetNuke.Common.Utilities.Null.GetNull(Field, DBNull.Value)
End Function
#End Region
#Region "Public Methods"
Public Overrides Function GetActiveMemberss(ByVal ModuleID As Integer) As IDataReader
Return CType(SqlHelper.ExecuteReader(ConnectionString, GetFullyQualifiedName("GetActiveMemberss"), ModuleID), IDataReader)
End Function
Public Overrides Function GetActiveMembers(ByVal ModuleID As Integer, ByVal MyModule as Integer) As IDataReader
Return CType(SqlHelper.ExecuteReader(ConnectionString, GetFullyQualifiedName("GetActiveMembers"), ModuleID, MyModule), IDataReader)
End Function
Public Overrides Sub AddActiveMembers(ByVal ModuleID As Integer, ByVal Name as String, ByVal Address as String, ByVal Street as String, ByVal Town as String, ByVal Active as Boolean, ByVal Entrance as DateTime)
SqlHelper.ExecuteNonQuery(ConnectionString, GetFullyQualifiedName("AddActiveMembers"), ModuleID, Name , Address , Street , Town , Active , Entrance )
End Sub
Public Overrides Sub UpdateActiveMembers(ByVal ModuleID As Integer, ByVal MyModule as Int32, ByVal Name as String, ByVal Address as String, ByVal Street as String, ByVal Town as String, ByVal Active as Boolean, ByVal Entrance as DateTime)
SqlHelper.ExecuteNonQuery(ConnectionString, GetFullyQualifiedName("UpdateActiveMembers"), ModuleID, MyModule , Name , Address , Street , Town , Active , Entrance )
End Sub
Public Overrides Sub DeleteActiveMembers(ByVal ModuleID As Integer, ByVal MyModule as Integer)
SqlHelper.ExecuteNonQuery(ConnectionString, GetFullyQualifiedName("DeleteActiveMembers"), ModuleID, MyModule)
End Sub
#End Region
End Class
End Namespace