You are on page 1of 4

Imports Imports Imports Imports

System System.Data System.Data.SqlClient System.Collections

Public Class Col_BAS_Areas Protected _transaction As Data.SqlClient.SqlTransaction Sub New() MyBase.New() End Sub Sub New(ByVal Transaction As System.Data.SqlClient.SqlTransaction) MyBase.New() _transaction = Transaction End Sub Public Function Add(ByVal ObjBAS_Areas As BAS_Areas, Optional ByVal StrConnection As String = "", Optional ByVal _transaction As Data.SqlClient.SqlTransaction = Nothing) As BAS_Areas Try Dim pCod_Area As New SqlParameter("@Cod_Area", SqlDbType.Int, 4, ParameterDirection.Output, False, 0, 0, Nothing, DataRowVersion.Default, ObjBAS_Areas.Cod_Area) Dim pDescripcion As New SqlParameter("@Descripcion", SqlDbType.VarChar, 150, ParameterDirection.Input, False, 0, 0, Nothing, DataRowVersion.Default, ObjBAS_Areas.Descripcion) Dim pCod_Usuario As New SqlParameter("@Cod_Usuario", SqlDbType.Int, 4, ParameterDirection.Input, False, 0, 0, Nothing, DataRowVersion.Default, ObjBAS_Areas.Cod_Usuario) Dim pStrResult As New SqlParameter("@StrResult", SqlDbType.VarChar, 1000, ParameterDirection.Output, False, 0, 0, Nothing, DataRowVersion.Default, Nothing) Dim pResult As New SqlParameter("@Result", SqlDbType.Int, 4, ParameterDirection.Output, False, 0, 0, Nothing, DataRowVersion.Default, Nothing) Dim Params() As SqlParameter = {pCod_Area, pDescripcion, pCod_Usuario, pStrResult, pResult} If Not IsNothing(_transaction) Then ExecuteNonQuery(En_Stored_Procedure.SP_Areas_Ins, Params, StrConnection, _transaction) Else ExecuteNonQuery(En_Stored_Procedure.SP_Areas_Ins, Params, StrConnection) End If ObjBAS_Areas.Cod_Area = IIf(IsDBNull(pCod_Area.Value), 0, pCod_Area.Value) If Not IsDBNull(pResult.Value) Then Dim ex As New Exception(pStrResult.Value) Throw ex End If Return ObjBAS_Areas Catch ex As Exception Throw ex End Try

End Function Public Function Update(ByVal objBas_Areas As BAS_Areas, Optional ByVal StrConnection As String = "", Optional ByVal _transaction As Data.SqlClient.SqlTransaction = Nothing) As Boolean Try Dim pCod_Area As New SqlParameter("@Cod_Area", SqlDbType.Int, 4, ParameterDirection.Input, False, 0, 0, Nothing, DataRowVersion.Default, objBas_Areas.Cod_Area) Dim pDescripcion As New SqlParameter("@Descripcion", SqlDbType.VarChar, 100, ParameterDirection.Input, False, 0, 0, Nothing, DataRowVersion.Default, objBas_Areas.Descripcion) Dim pCod_Usuario As New SqlParameter("@Cod_Usuario", SqlDbType.Int, 4, ParameterDirection.Input, False, 0, 0, Nothing, DataRowVersion.Default, objBas_Areas.Cod_Usuario) Dim pStrResult As New SqlParameter("@StrResult", SqlDbType.VarChar, 1000, ParameterDirection.Output, False, 0, 0, Nothing, DataRowVersion.Default, Nothing) Dim pResult As New SqlParameter("@Result", SqlDbType.Int, 4, ParameterDirection.Output, False, 0, 0, Nothing, DataRowVersion.Default, Nothing) Dim Params() As SqlParameter = {pCod_Area, pDescripcion, pCod_Usuario, pStrResult, pResult} If Not IsNothing(_transaction) Then ExecuteNonQuery(En_Stored_Procedure.SP_Areas_Upd, Params, StrConnection, _transaction) Else ExecuteNonQuery(En_Stored_Procedure.SP_Areas_Upd, Params, StrConnection) End If If Not IsDBNull(pResult.Value) Then Dim ex As New Exception(pStrResult.Value) Throw ex End If Return True Catch ex As Exception Throw ex End Try End Function Public Function Delete(ByVal objBas_Areas As BAS_Areas, Optional ByVal StrConnetion As String = "", Optional ByVal _transaction As Data.SqlClient.SqlTransaction = Nothing) As Boolean Try Dim pCod_Area As New SqlParameter("@Cod_Area", SqlDbType.Int, 4, ParameterDirection.Input, False, 0, 0, Nothing, DataRowVersion.Default, objBas_Areas.Cod_Area) Dim pCod_Usuario As New SqlParameter("@Cod_Usuario", SqlDbType.Int, 4, ParameterDirection.Input, False, 0, 0, Nothing, DataRowVersion.Default, objBas_Areas.Cod_Usuario) Dim pStrResult As New SqlParameter("@StrResult", SqlDbType.VarChar, 1000, ParameterDirection.Output, False, 0, 0, Nothing, DataRowVersion.Default, Nothing) Dim pResult As New SqlParameter("@Result", SqlDbType.Int, 4, ParameterDirection.Output, False, 0, 0, Nothing, DataRowVersion.Default, Nothing)

Dim Params() As SqlParameter = {pCod_Area, pCod_Usuario, pStrResult, pResult} If Not IsNothing(_transaction) Then ExecuteNonQuery(En_Stored_Procedure.SP_Areas_Del, Params, StrConnetion, _transaction) Else ExecuteNonQuery(En_Stored_Procedure.SP_Areas_Del, Params, StrConnetion) End If If Not IsDBNull(pResult.Value) Then Dim ex As New Exception(pStrResult.Value) Throw ex End If Return True Catch ex As Exception Throw ex End Try End Function End Class Public Function ExecuteQuery(ByVal SP As En_Stored_Procedure, Optional ByVal Params() As SqlParameter = Nothing, Optional ByVal StrConnection As String = "", Optional ByVal _transaction As SqlClient.SqlTransaction = Nothing) As DataSet Dim oCmd As SqlCommand Dim SqlDataAdapter As SqlDataAdapter Dim DataSet As DataSet Try spCommandText = SP.ToString() If IsNothing(_transaction) Then oCmd = New SqlCommand(spCommandText) oCmd.CommandType = CommandType.StoredProcedure oCmd.Connection = New SqlConnection(StrConnection) SqlDataAdapter = New SqlDataAdapter(oCmd) If Not IsNothing(Params) Then For Each Par As SqlParameter In Params oCmd.Parameters.Add(Par) Next End If oCmd.Connection.Open() DataSet = New DataSet() SqlDataAdapter.Fill(DataSet) oCmd.Connection.Close() Else oCmd = New SqlCommand(spCommandText) oCmd.CommandType = CommandType.StoredProcedure oCmd.Connection = _transaction.Connection oCmd.CommandTimeout = 0 oCmd.Transaction = _transaction

SqlDataAdapter = New SqlDataAdapter(oCmd) If Not IsNothing(Params) Then For Each Par As SqlParameter In Params oCmd.Parameters.Add(Par) Next End If DataSet = New DataSet() SqlDataAdapter.Fill(DataSet) End If oCmd = Nothing Return DataSet Catch ex As Exception Return Nothing Throw ex End Try End Function

You might also like