Imports System Imports System.Data Imports System.Data.SqlTypes Imports System.Data.SqlClient Namespace DB Public Class clsThema Inherits clsDBInteractionBase #Region " Class Member Declarations " Private m_bIssue, m_bAktiv As SqlBoolean Private m_daGueltig_ab, m_daMutiert_am, m_daGueltig_bis, m_daErstellt_am As SqlDateTime Private m_iMutierer, m_iIssue_Relevant_Veraenderung, m_iIssue_Relevant_TKB, m_iKategorieNr, m_iThemanNr As SqlInt32 Private m_sIssue_Bemerkung, m_sTitel, m_sSuchbegriffe, m_sBeschreibung As SqlString #End Region Public Sub New() ' // Nothing for now. End Sub Overrides Public Function Insert() As Boolean Dim scmCmdToExecute As SqlCommand = New SqlCommand() scmCmdToExecute.CommandText = "dbo.[pr_Thema_Insert]" scmCmdToExecute.CommandType = CommandType.StoredProcedure ' // Use base class' connection object scmCmdToExecute.Connection = m_scoMainConnection Try scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemanNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iThemanNr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@sTitel", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTitel)) scmCmdToExecute.Parameters.Add(New SqlParameter("@iKategorieNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iKategorieNr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) scmCmdToExecute.Parameters.Add(New SqlParameter("@sSuchbegriffe", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSuchbegriffe)) scmCmdToExecute.Parameters.Add(New SqlParameter("@daGueltig_ab", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daGueltig_ab)) scmCmdToExecute.Parameters.Add(New SqlParameter("@daGueltig_bis", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daGueltig_bis)) scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) scmCmdToExecute.Parameters.Add(New SqlParameter("@bIssue", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bIssue)) scmCmdToExecute.Parameters.Add(New SqlParameter("@iIssue_Relevant_TKB", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iIssue_Relevant_TKB)) scmCmdToExecute.Parameters.Add(New SqlParameter("@iIssue_Relevant_Veraenderung", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iIssue_Relevant_Veraenderung)) scmCmdToExecute.Parameters.Add(New SqlParameter("@sIssue_Bemerkung", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sIssue_Bemerkung)) scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) If m_bMainConnectionIsCreatedLocal Then ' // Open connection. m_scoMainConnection.Open() Else If m_cpMainConnectionProvider.bIsTransactionPending Then scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction End If End If ' // Execute query. m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then ' // Throw error. Throw New Exception("Stored Procedure 'pr_Thema_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) End If Return True Catch ex As Exception ' // some error occured. Bubble it to caller and encapsulate Exception object Throw New Exception("clsThema::Insert::Error occured.", ex) Finally If m_bMainConnectionIsCreatedLocal Then ' // Close connection. m_scoMainConnection.Close() End If scmCmdToExecute.Dispose() End Try End Function Overrides Public Function Update() As Boolean Dim scmCmdToExecute As SqlCommand = New SqlCommand() scmCmdToExecute.CommandText = "dbo.[pr_Thema_Update]" scmCmdToExecute.CommandType = CommandType.StoredProcedure ' // Use base class' connection object scmCmdToExecute.Connection = m_scoMainConnection Try scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemanNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iThemanNr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@sTitel", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTitel)) scmCmdToExecute.Parameters.Add(New SqlParameter("@iKategorieNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iKategorieNr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) scmCmdToExecute.Parameters.Add(New SqlParameter("@sSuchbegriffe", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSuchbegriffe)) scmCmdToExecute.Parameters.Add(New SqlParameter("@daGueltig_ab", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daGueltig_ab)) scmCmdToExecute.Parameters.Add(New SqlParameter("@daGueltig_bis", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daGueltig_bis)) scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) scmCmdToExecute.Parameters.Add(New SqlParameter("@bIssue", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bIssue)) scmCmdToExecute.Parameters.Add(New SqlParameter("@iIssue_Relevant_TKB", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iIssue_Relevant_TKB)) scmCmdToExecute.Parameters.Add(New SqlParameter("@iIssue_Relevant_Veraenderung", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iIssue_Relevant_Veraenderung)) scmCmdToExecute.Parameters.Add(New SqlParameter("@sIssue_Bemerkung", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sIssue_Bemerkung)) scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) If m_bMainConnectionIsCreatedLocal Then ' // Open connection. m_scoMainConnection.Open() Else If m_cpMainConnectionProvider.bIsTransactionPending Then scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction End If End If ' // Execute query. m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then ' // Throw error. Throw New Exception("Stored Procedure 'pr_Thema_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) End If Return True Catch ex As Exception ' // some error occured. Bubble it to caller and encapsulate Exception object Throw New Exception("clsThema::Update::Error occured.", ex) Finally If m_bMainConnectionIsCreatedLocal Then ' // Close connection. m_scoMainConnection.Close() End If scmCmdToExecute.Dispose() End Try End Function Overrides Public Function Delete() As Boolean Dim scmCmdToExecute As SqlCommand = New SqlCommand() scmCmdToExecute.CommandText = "dbo.[pr_Thema_Delete]" scmCmdToExecute.CommandType = CommandType.StoredProcedure ' // Use base class' connection object scmCmdToExecute.Connection = m_scoMainConnection Try scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemanNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iThemanNr)) scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) If m_bMainConnectionIsCreatedLocal Then ' // Open connection. m_scoMainConnection.Open() Else If m_cpMainConnectionProvider.bIsTransactionPending Then scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction End If End If ' // Execute query. m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then ' // Throw error. Throw New Exception("Stored Procedure 'pr_Thema_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) End If Return True Catch ex As Exception ' // some error occured. Bubble it to caller and encapsulate Exception object Throw New Exception("clsThema::Delete::Error occured.", ex) Finally If m_bMainConnectionIsCreatedLocal Then ' // Close connection. m_scoMainConnection.Close() End If scmCmdToExecute.Dispose() End Try End Function Overrides Public Function SelectOne() As DataTable Dim scmCmdToExecute As SqlCommand = New SqlCommand() scmCmdToExecute.CommandText = "dbo.[pr_Thema_SelectOne]" scmCmdToExecute.CommandType = CommandType.StoredProcedure Dim dtToReturn As DataTable = new DataTable("Thema") Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) ' // Use base class' connection object scmCmdToExecute.Connection = m_scoMainConnection Try scmCmdToExecute.Parameters.Add(new SqlParameter("@iThemanNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iThemanNr)) scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) If m_bMainConnectionIsCreatedLocal Then ' // Open connection. m_scoMainConnection.Open() Else If m_cpMainConnectionProvider.bIsTransactionPending Then scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction End If End If ' // Execute query. sdaAdapter.Fill(dtToReturn) m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then ' // Throw error. Throw New Exception("Stored Procedure 'pr_Thema_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) End If If dtToReturn.Rows.Count > 0 Then m_iThemanNr = New SqlInt32(CType(dtToReturn.Rows(0)("ThemanNr"), Integer)) If dtToReturn.Rows(0)("Titel") Is System.DBNull.Value Then m_sTitel = SqlString.Null Else m_sTitel = New SqlString(CType(dtToReturn.Rows(0)("Titel"), String)) End If If dtToReturn.Rows(0)("KategorieNr") Is System.DBNull.Value Then m_iKategorieNr = SqlInt32.Null Else m_iKategorieNr = New SqlInt32(CType(dtToReturn.Rows(0)("KategorieNr"), Integer)) End If If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then m_sBeschreibung = SqlString.Null Else m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) End If If dtToReturn.Rows(0)("Suchbegriffe") Is System.DBNull.Value Then m_sSuchbegriffe = SqlString.Null Else m_sSuchbegriffe = New SqlString(CType(dtToReturn.Rows(0)("Suchbegriffe"), String)) End If If dtToReturn.Rows(0)("Gueltig_ab") Is System.DBNull.Value Then m_daGueltig_ab = SqlDateTime.Null Else m_daGueltig_ab = New SqlDateTime(CType(dtToReturn.Rows(0)("Gueltig_ab"), Date)) End If If dtToReturn.Rows(0)("Gueltig_bis") Is System.DBNull.Value Then m_daGueltig_bis = SqlDateTime.Null Else m_daGueltig_bis = New SqlDateTime(CType(dtToReturn.Rows(0)("Gueltig_bis"), Date)) End If If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then m_bAktiv = SqlBoolean.Null Else m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) End If If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then m_daErstellt_am = SqlDateTime.Null Else m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) End If If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then m_daMutiert_am = SqlDateTime.Null Else m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) End If If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then m_iMutierer = SqlInt32.Null Else m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) End If If dtToReturn.Rows(0)("Issue") Is System.DBNull.Value Then m_bIssue = SqlBoolean.Null Else m_bIssue = New SqlBoolean(CType(dtToReturn.Rows(0)("Issue"), Boolean)) End If If dtToReturn.Rows(0)("Issue_Relevant_TKB") Is System.DBNull.Value Then m_iIssue_Relevant_TKB = SqlInt32.Null Else m_iIssue_Relevant_TKB = New SqlInt32(CType(dtToReturn.Rows(0)("Issue_Relevant_TKB"), Integer)) End If If dtToReturn.Rows(0)("Issue_Relevant_Veraenderung") Is System.DBNull.Value Then m_iIssue_Relevant_Veraenderung = SqlInt32.Null Else m_iIssue_Relevant_Veraenderung = New SqlInt32(CType(dtToReturn.Rows(0)("Issue_Relevant_Veraenderung"), Integer)) End If If dtToReturn.Rows(0)("Issue_Bemerkung") Is System.DBNull.Value Then m_sIssue_Bemerkung = SqlString.Null Else m_sIssue_Bemerkung = New SqlString(CType(dtToReturn.Rows(0)("Issue_Bemerkung"), String)) End If End If Return dtToReturn Catch ex As Exception ' // some error occured. Bubble it to caller and encapsulate Exception object Throw New Exception("clsThema::SelectOne::Error occured.", ex) Finally If m_bMainConnectionIsCreatedLocal Then ' // Close connection. m_scoMainConnection.Close() End If scmCmdToExecute.Dispose() sdaAdapter.Dispose() End Try End Function Overrides Public Function SelectAll() As DataTable Dim scmCmdToExecute As SqlCommand = New SqlCommand() scmCmdToExecute.CommandText = "dbo.[pr_Thema_SelectAll]" scmCmdToExecute.CommandType = CommandType.StoredProcedure Dim dtToReturn As DataTable = new DataTable("Thema") Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) ' // Use base class' connection object scmCmdToExecute.Connection = m_scoMainConnection Try scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) If m_bMainConnectionIsCreatedLocal Then ' // Open connection. m_scoMainConnection.Open() Else If m_cpMainConnectionProvider.bIsTransactionPending Then scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction End If End If ' // Execute query. sdaAdapter.Fill(dtToReturn) m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then ' // Throw error. Throw New Exception("Stored Procedure 'pr_Thema_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) End If Return dtToReturn Catch ex As Exception ' // some error occured. Bubble it to caller and encapsulate Exception object Throw New Exception("clsThema::SelectAll::Error occured.", ex) Finally If m_bMainConnectionIsCreatedLocal Then ' // Close connection. m_scoMainConnection.Close() End If scmCmdToExecute.Dispose() sdaAdapter.Dispose() End Try End Function #Region " Class Property Declarations " Public Property [iThemanNr]() As SqlInt32 Get Return m_iThemanNr End Get Set(ByVal Value As SqlInt32) Dim iThemanNrTmp As SqlInt32 = Value If iThemanNrTmp.IsNull Then Throw New ArgumentOutOfRangeException("iThemanNr", "iThemanNr can't be NULL") End If m_iThemanNr = Value End Set End Property Public Property [sTitel]() As SqlString Get Return m_sTitel End Get Set(ByVal Value As SqlString) m_sTitel = Value End Set End Property Public Property [iKategorieNr]() As SqlInt32 Get Return m_iKategorieNr End Get Set(ByVal Value As SqlInt32) m_iKategorieNr = Value End Set End Property Public Property [sBeschreibung]() As SqlString Get Return m_sBeschreibung End Get Set(ByVal Value As SqlString) m_sBeschreibung = Value End Set End Property Public Property [sSuchbegriffe]() As SqlString Get Return m_sSuchbegriffe End Get Set(ByVal Value As SqlString) m_sSuchbegriffe = Value End Set End Property Public Property [daGueltig_ab]() As SqlDateTime Get Return m_daGueltig_ab End Get Set(ByVal Value As SqlDateTime) m_daGueltig_ab = Value End Set End Property Public Property [daGueltig_bis]() As SqlDateTime Get Return m_daGueltig_bis End Get Set(ByVal Value As SqlDateTime) m_daGueltig_bis = Value End Set End Property Public Property [bAktiv]() As SqlBoolean Get Return m_bAktiv End Get Set(ByVal Value As SqlBoolean) m_bAktiv = Value End Set End Property Public Property [daErstellt_am]() As SqlDateTime Get Return m_daErstellt_am End Get Set(ByVal Value As SqlDateTime) m_daErstellt_am = Value End Set End Property Public Property [daMutiert_am]() As SqlDateTime Get Return m_daMutiert_am End Get Set(ByVal Value As SqlDateTime) m_daMutiert_am = Value End Set End Property Public Property [iMutierer]() As SqlInt32 Get Return m_iMutierer End Get Set(ByVal Value As SqlInt32) m_iMutierer = Value End Set End Property Public Property [bIssue]() As SqlBoolean Get Return m_bIssue End Get Set(ByVal Value As SqlBoolean) m_bIssue = Value End Set End Property Public Property [iIssue_Relevant_TKB]() As SqlInt32 Get Return m_iIssue_Relevant_TKB End Get Set(ByVal Value As SqlInt32) m_iIssue_Relevant_TKB = Value End Set End Property Public Property [iIssue_Relevant_Veraenderung]() As SqlInt32 Get Return m_iIssue_Relevant_Veraenderung End Get Set(ByVal Value As SqlInt32) m_iIssue_Relevant_Veraenderung = Value End Set End Property Public Property [sIssue_Bemerkung]() As SqlString Get Return m_sIssue_Bemerkung End Get Set(ByVal Value As SqlString) m_sIssue_Bemerkung = Value End Set End Property #End Region End Class End Namespace