' ///////////////////////////////////////////////////////////////////////////
' // Description: Data Access class for the table 'AuswertungRptDatei'
' // 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 'AuswertungRptDatei'.
	''' </summary>
	Public Class clsAuswertungRptDatei
		Inherits clsDBInteractionBase

#Region " Class Member Declarations "

		Private 		m_daMutiert_am, m_daErstellt_am As SqlDateTime
		Private 		m_blobReportfile As SqlBinary
		Private 		m_iMutierer, m_iAuswertungDateiNr As SqlInt32
		Private 		m_sFilename, m_sReportname 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>iAuswertungDateiNr</LI>
		'''		 <LI>sFilename. May be SqlString.Null</LI>
		'''		 <LI>sReportname. May be SqlString.Null</LI>
		'''		 <LI>blobReportfile. May be SqlBinary.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>
		''' </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_AuswertungRptDatei_Insert]"
			scmCmdToExecute.CommandType = CommandType.StoredProcedure

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

			Try
				scmCmdToExecute.Parameters.Add(New SqlParameter("@iAuswertungDateiNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iAuswertungDateiNr))
				scmCmdToExecute.Parameters.Add(New SqlParameter("@sFilename", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sFilename))
				scmCmdToExecute.Parameters.Add(New SqlParameter("@sReportname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sReportname))
				Dim	iLength As Integer = 0
				If Not m_blobReportfile.IsNull Then
					iLength = m_blobReportfile.Length
				End If
				scmCmdToExecute.Parameters.Add(New SqlParameter("@blobReportfile", SqlDbType.Image, iLength, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_blobReportfile))
				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("@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_AuswertungRptDatei_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("clsAuswertungRptDatei::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>iAuswertungDateiNr</LI>
		'''		 <LI>sFilename. May be SqlString.Null</LI>
		'''		 <LI>sReportname. May be SqlString.Null</LI>
		'''		 <LI>blobReportfile. May be SqlBinary.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>
		''' </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_AuswertungRptDatei_Update]"
			scmCmdToExecute.CommandType = CommandType.StoredProcedure

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

			Try
				scmCmdToExecute.Parameters.Add(New SqlParameter("@iAuswertungDateiNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iAuswertungDateiNr))
				scmCmdToExecute.Parameters.Add(New SqlParameter("@sFilename", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sFilename))
				scmCmdToExecute.Parameters.Add(New SqlParameter("@sReportname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sReportname))
				Dim	iLength As Integer = 0
				If Not m_blobReportfile.IsNull Then
					iLength = m_blobReportfile.Length
				End If
				scmCmdToExecute.Parameters.Add(New SqlParameter("@blobReportfile", SqlDbType.Image, iLength, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_blobReportfile))
				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("@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_AuswertungRptDatei_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("clsAuswertungRptDatei::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>iAuswertungDateiNr</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_AuswertungRptDatei_Delete]"
			scmCmdToExecute.CommandType = CommandType.StoredProcedure

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

			Try
				scmCmdToExecute.Parameters.Add(New SqlParameter("@iAuswertungDateiNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iAuswertungDateiNr))
				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_AuswertungRptDatei_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("clsAuswertungRptDatei::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>iAuswertungDateiNr</LI>
		''' </UL>
		''' Properties set after a succesful call of this method: 
		''' <UL>
		'''		 <LI>iErrorCode</LI>
		'''		 <LI>iAuswertungDateiNr</LI>
		'''		 <LI>sFilename</LI>
		'''		 <LI>sReportname</LI>
		'''		 <LI>blobReportfile</LI>
		'''		 <LI>daErstellt_am</LI>
		'''		 <LI>daMutiert_am</LI>
		'''		 <LI>iMutierer</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_AuswertungRptDatei_SelectOne]"
			scmCmdToExecute.CommandType = CommandType.StoredProcedure
			Dim dtToReturn As DataTable = new DataTable("AuswertungRptDatei")
			Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute)

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

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

				If dtToReturn.Rows.Count > 0 Then
					m_iAuswertungDateiNr = New SqlInt32(CType(dtToReturn.Rows(0)("AuswertungDateiNr"), Integer))
					If dtToReturn.Rows(0)("Filename") Is System.DBNull.Value Then
						m_sFilename = SqlString.Null
					Else
						m_sFilename = New SqlString(CType(dtToReturn.Rows(0)("Filename"), String))
					End If
					If dtToReturn.Rows(0)("Reportname") Is System.DBNull.Value Then
						m_sReportname = SqlString.Null
					Else
						m_sReportname = New SqlString(CType(dtToReturn.Rows(0)("Reportname"), String))
					End If
					If dtToReturn.Rows(0)("Reportfile") Is System.DBNull.Value Then
						m_blobReportfile = SqlBinary.Null
					Else
						m_blobReportfile = New SqlBinary(CType(dtToReturn.Rows(0)("Reportfile"), Byte()))
					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
				End If
				Return dtToReturn
			Catch ex As Exception
				' // some error occured. Bubble it to caller and encapsulate Exception object
				Throw New Exception("clsAuswertungRptDatei::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_AuswertungRptDatei_SelectAll]"
			scmCmdToExecute.CommandType = CommandType.StoredProcedure
			Dim dtToReturn As DataTable = new DataTable("AuswertungRptDatei")
			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_AuswertungRptDatei_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("clsAuswertungRptDatei::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 [iAuswertungDateiNr]() As SqlInt32
			Get
				Return m_iAuswertungDateiNr
			End Get
			Set(ByVal Value As SqlInt32)
				Dim iAuswertungDateiNrTmp As SqlInt32 = Value
				If iAuswertungDateiNrTmp.IsNull Then
					Throw New ArgumentOutOfRangeException("iAuswertungDateiNr", "iAuswertungDateiNr can't be NULL")
				End If
				m_iAuswertungDateiNr = Value
			End Set
		End Property


		Public Property [sFilename]() As SqlString
			Get
				Return m_sFilename
			End Get
			Set(ByVal Value As SqlString)
				m_sFilename = Value
			End Set
		End Property


		Public Property [sReportname]() As SqlString
			Get
				Return m_sReportname
			End Get
			Set(ByVal Value As SqlString)
				m_sReportname = Value
			End Set
		End Property


		Public Property [blobReportfile]() As SqlBinary
			Get
				Return m_blobReportfile
			End Get
			Set(ByVal Value As SqlBinary)
				m_blobReportfile = 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

#End Region

	End Class
End Namespace
