' ///////////////////////////////////////////////////////////////////////////
' // Description: Data Access class for the table 'AuswertungGruppe'
' // Generated by LLBLGen v1.21.2003.712 Final on: Samstag, 2. März 2013, 14:15:46
' // Because the Base Class already implements IDispose, this class doesn't.
' ///////////////////////////////////////////////////////////////////////////
Imports System
Imports System.Data
Imports System.Data.SqlTypes
Imports System.Data.SqlClient

Namespace DB
	''' <summary>
	''' Purpose: Data Access class for the table 'AuswertungGruppe'.
	''' </summary>
	Public Class clsAuswertungGruppe
		Inherits clsDBInteractionBase

#Region " Class Member Declarations "

		Private 		m_bAktiv As SqlBoolean
		Private 		m_daMutiert_am, m_daErstellt_am As SqlDateTime
		Private 		m_iParentid, m_iMutierer, m_iAuswertungGruppeNr As SqlInt32
		Private 		m_sBezeichnung As SqlString

#End Region


		''' <summary>
		''' Purpose: Class constructor.
		''' </summary>
		Public Sub New()
			' // Nothing for now.
		End Sub


		''' <summary>
		''' Purpose: Insert method. This method will insert one new row into the database.
		''' </summary>
		''' <returns>True if succeeded, otherwise an Exception is thrown. </returns>
		''' <remarks>
		''' Properties needed for this method: 
		''' <UL>
		'''		 <LI>iAuswertungGruppeNr</LI>
		'''		 <LI>sBezeichnung. May be SqlString.Null</LI>
		'''		 <LI>bAktiv. May be SqlBoolean.Null</LI>
		'''		 <LI>daErstellt_am. May be SqlDateTime.Null</LI>
		'''		 <LI>daMutiert_am. May be SqlDateTime.Null</LI>
		'''		 <LI>iMutierer. May be SqlInt32.Null</LI>
		'''		 <LI>iParentid. May be SqlInt32.Null</LI>
		''' </UL>
		''' Properties set after a succesful call of this method: 
		''' <UL>
		'''		 <LI>iErrorCode</LI>
		'''</UL>
		''' </remarks>
		Overrides Public Function Insert() As Boolean
			Dim scmCmdToExecute As SqlCommand	= New SqlCommand()
			scmCmdToExecute.CommandText = "dbo.[pr_AuswertungGruppe_Insert]"
			scmCmdToExecute.CommandType = CommandType.StoredProcedure

			' // Use base class' connection object
			scmCmdToExecute.Connection = m_scoMainConnection

			Try
				scmCmdToExecute.Parameters.Add(New SqlParameter("@iAuswertungGruppeNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iAuswertungGruppeNr))
				scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung))
				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("@iParentid", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iParentid))
				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_AuswertungGruppe_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("clsAuswertungGruppe::Insert::Error occured.", ex)
			Finally
				If m_bMainConnectionIsCreatedLocal Then
					' // Close connection.
					m_scoMainConnection.Close()
				End If
				scmCmdToExecute.Dispose()
			End Try
		End Function


		''' <summary>
		''' Purpose: Update method. This method will Update one existing row in the database.
		''' </summary>
		''' <returns>True if succeeded, otherwise an Exception is thrown. </returns>
		''' <remarks>
		''' Properties needed for this method: 
		''' <UL>
		'''		 <LI>iAuswertungGruppeNr</LI>
		'''		 <LI>sBezeichnung. May be SqlString.Null</LI>
		'''		 <LI>bAktiv. May be SqlBoolean.Null</LI>
		'''		 <LI>daErstellt_am. May be SqlDateTime.Null</LI>
		'''		 <LI>daMutiert_am. May be SqlDateTime.Null</LI>
		'''		 <LI>iMutierer. May be SqlInt32.Null</LI>
		'''		 <LI>iParentid. May be SqlInt32.Null</LI>
		''' </UL>
		''' Properties set after a succesful call of this method: 
		''' <UL>
		'''		 <LI>iErrorCode</LI>
		'''</UL>
		''' </remarks>
		Overrides Public Function Update() As Boolean
			Dim scmCmdToExecute As SqlCommand	= New SqlCommand()
			scmCmdToExecute.CommandText = "dbo.[pr_AuswertungGruppe_Update]"
			scmCmdToExecute.CommandType = CommandType.StoredProcedure

			' // Use base class' connection object
			scmCmdToExecute.Connection = m_scoMainConnection

			Try
				scmCmdToExecute.Parameters.Add(New SqlParameter("@iAuswertungGruppeNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iAuswertungGruppeNr))
				scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung))
				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("@iParentid", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iParentid))
				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_AuswertungGruppe_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("clsAuswertungGruppe::Update::Error occured.", ex)
			Finally
				If m_bMainConnectionIsCreatedLocal Then
					' // Close connection.
					m_scoMainConnection.Close()
				End If
				scmCmdToExecute.Dispose()
			End Try
		End Function


		''' <summary>
		''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key.
		''' </summary>
		''' <returns>True if succeeded, otherwise an Exception is thrown. </returns>
		''' <remarks>
		''' Properties needed for this method: 
		''' <UL>
		'''		 <LI>iAuswertungGruppeNr</LI>
		''' </UL>
		''' Properties set after a succesful call of this method: 
		''' <UL>
		'''		 <LI>iErrorCode</LI>
		'''</UL>
		''' </remarks>
		Overrides Public Function Delete() As Boolean
			Dim scmCmdToExecute As SqlCommand	= New SqlCommand()
			scmCmdToExecute.CommandText = "dbo.[pr_AuswertungGruppe_Delete]"
			scmCmdToExecute.CommandType = CommandType.StoredProcedure

			' // Use base class' connection object
			scmCmdToExecute.Connection = m_scoMainConnection

			Try
				scmCmdToExecute.Parameters.Add(New SqlParameter("@iAuswertungGruppeNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iAuswertungGruppeNr))
				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_AuswertungGruppe_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("clsAuswertungGruppe::Delete::Error occured.", ex)
			Finally
				If m_bMainConnectionIsCreatedLocal Then
					' // Close connection.
					m_scoMainConnection.Close()
				End If
				scmCmdToExecute.Dispose()
			End Try
		End Function


		''' <summary>
		''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key.
		''' </summary>
		''' <returns>DataTable object if succeeded, otherwise an Exception is thrown. </returns>
		''' <remarks>
		''' Properties needed for this method: 
		''' <UL>
		'''		 <LI>iAuswertungGruppeNr</LI>
		''' </UL>
		''' Properties set after a succesful call of this method: 
		''' <UL>
		'''		 <LI>iErrorCode</LI>
		'''		 <LI>iAuswertungGruppeNr</LI>
		'''		 <LI>sBezeichnung</LI>
		'''		 <LI>bAktiv</LI>
		'''		 <LI>daErstellt_am</LI>
		'''		 <LI>daMutiert_am</LI>
		'''		 <LI>iMutierer</LI>
		'''		 <LI>iParentid</LI>
		'''</UL>
		''' Will fill all properties corresponding with a field in the table with the value of the row selected.
		''' </remarks>
		Overrides Public Function SelectOne() As DataTable
			Dim scmCmdToExecute As SqlCommand = New SqlCommand()
			scmCmdToExecute.CommandText = "dbo.[pr_AuswertungGruppe_SelectOne]"
			scmCmdToExecute.CommandType = CommandType.StoredProcedure
			Dim dtToReturn As DataTable = new DataTable("AuswertungGruppe")
			Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute)

			' // Use base class' connection object
			scmCmdToExecute.Connection = m_scoMainConnection

			Try
				scmCmdToExecute.Parameters.Add(new SqlParameter("@iAuswertungGruppeNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iAuswertungGruppeNr))
				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_AuswertungGruppe_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString())
				End If

				If dtToReturn.Rows.Count > 0 Then
					m_iAuswertungGruppeNr = New SqlInt32(CType(dtToReturn.Rows(0)("AuswertungGruppeNr"), Integer))
					If dtToReturn.Rows(0)("Bezeichnung") Is System.DBNull.Value Then
						m_sBezeichnung = SqlString.Null
					Else
						m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("Bezeichnung"), String))
					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)("Parentid") Is System.DBNull.Value Then
						m_iParentid = SqlInt32.Null
					Else
						m_iParentid = New SqlInt32(CType(dtToReturn.Rows(0)("Parentid"), Integer))
					End If
				End If
				Return dtToReturn
			Catch ex As Exception
				' // some error occured. Bubble it to caller and encapsulate Exception object
				Throw New Exception("clsAuswertungGruppe::SelectOne::Error occured.", ex)
			Finally
				If m_bMainConnectionIsCreatedLocal Then
					' // Close connection.
					m_scoMainConnection.Close()
				End If
				scmCmdToExecute.Dispose()
				sdaAdapter.Dispose()
			End Try
		End Function


		''' <summary>
		''' Purpose: SelectAll method. This method will Select all rows from the table.
		''' </summary>
		''' <returns>DataTable object if succeeded, otherwise an Exception is thrown. </returns>
		''' <remarks>
		''' Properties set after a succesful call of this method: 
		''' <UL>
		'''		 <LI>iErrorCode</LI>
		'''</UL>
		''' </remarks>
		Overrides Public Function SelectAll() As DataTable
			Dim scmCmdToExecute As SqlCommand = New SqlCommand()
			scmCmdToExecute.CommandText = "dbo.[pr_AuswertungGruppe_SelectAll]"
			scmCmdToExecute.CommandType = CommandType.StoredProcedure
			Dim dtToReturn As DataTable = new DataTable("AuswertungGruppe")
			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_AuswertungGruppe_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("clsAuswertungGruppe::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 [iAuswertungGruppeNr]() As SqlInt32
			Get
				Return m_iAuswertungGruppeNr
			End Get
			Set(ByVal Value As SqlInt32)
				Dim iAuswertungGruppeNrTmp As SqlInt32 = Value
				If iAuswertungGruppeNrTmp.IsNull Then
					Throw New ArgumentOutOfRangeException("iAuswertungGruppeNr", "iAuswertungGruppeNr can't be NULL")
				End If
				m_iAuswertungGruppeNr = Value
			End Set
		End Property


		Public Property [sBezeichnung]() As SqlString
			Get
				Return m_sBezeichnung
			End Get
			Set(ByVal Value As SqlString)
				m_sBezeichnung = 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 [iParentid]() As SqlInt32
			Get
				Return m_iParentid
			End Get
			Set(ByVal Value As SqlInt32)
				m_iParentid = Value
			End Set
		End Property

#End Region

	End Class
End Namespace
