Imports System.Data.SqlClient Public Class ReportosDAO Dim oCon As New Conexion Dim cn As SqlConnection Public Function Nuevo(ByVal oReporto As ReportosCE) As Integer Dim retorno As Integer Return retorno End Function Public Function Nuevo(ByVal oReporto As ReportosCE, DocId As Integer, Tipo As String) As Integer Dim retorno As Integer = -1 Dim Transaccion As SqlTransaction Dim query As String Dim Tabla As String = "" If Tipo = "P" Then Tabla = "PREP" End If If Tipo = "I" Then Tabla = "IREP" End If cn = oCon.Conectar cn.Open() Dim cmd As SqlCommand = cn.CreateCommand Transaccion = cn.BeginTransaction("NuevoLete") cmd.Connection = cn cmd.Transaction = Transaccion query = "INSERT INTO [dbo].[PREP] ([DocId] ,[CodCasa] ,[Nombre] ,[FCompra] ,[ValTrans] ,[Dias] ,[FVenc] ,[Rend] ,[Impuestos] ,[OtrosCostos] ,[TotCostos] ,[MontoLiq] ,[InterGen] ,[CostoTransfr] ,[RendNetoAntImp] ,[ValReCompra] ,[ImpLiquidacion] ,[IngrNeto] ,[ValNeto] ,[RendNetoDespImp]) VALUES (@DocId ,@CodCasa ,@Nombre ,@FCompra ,@ValTrans ,@Dias ,@FVenc ,@Rend ,@Impuestos ,@OtrosCostos ,@TotCostos ,@MontoLiq ,@InterGen ,@CostoTransfr ,@RendNetoAntImp ,@ValReCompra ,@ImpLiquidacion ,@IngrNeto ,@ValNeto ,@RendNetoDespImp )" cmd.CommandText = query With cmd.Parameters .Add("@DocId", SqlDbType.Int).Value = DocId .Add("@CodCasa", SqlDbType.VarChar).Value = oReporto.CodigoCasa .Add("@Nombre", SqlDbType.VarChar).Value = oReporto.Nombre .Add("@FCompra", SqlDbType.DateTime).Value = oReporto.FechaDeCompra .Add("@ValTrans", SqlDbType.Decimal).Value = oReporto.ValorTransado .Add("@Dias", SqlDbType.Int).Value = oReporto.Dias .Add("@FVenc", SqlDbType.DateTime).Value = oReporto.FechaVencimiento .Add("@Rend", SqlDbType.Decimal).Value = oReporto.Rendimiento .Add("@Impuestos", SqlDbType.Decimal).Value = oReporto.Impuestos .Add("@OtrosCostos", SqlDbType.Decimal).Value = oReporto.OtrosCostos .Add("@TotCostos", SqlDbType.Decimal).Value = oReporto.TotalCostos .Add("@MontoLiq", SqlDbType.Decimal).Value = oReporto.MontoALiquidar .Add("@InterGen", SqlDbType.Decimal).Value = oReporto.InteresAGenerar .Add("@CostoTransfr", SqlDbType.Decimal).Value = oReporto.CostoDeTransferencia .Add("@RendNetoAntImp", SqlDbType.Decimal).Value = oReporto.RendimientoNetoAntesDeImpuestos .Add("@ValReCompra", SqlDbType.Decimal).Value = oReporto.ValorReCompra .Add("@ImpLiquidacion", SqlDbType.Decimal).Value = oReporto.ImpuestosLiquidacion .Add("@IngrNeto", SqlDbType.Decimal).Value = oReporto.IngresoNeto .Add("@ValNeto", SqlDbType.Decimal).Value = oReporto.ValorNeto .Add("@RendNetoDespImp", SqlDbType.Decimal).Value = oReporto.RendimientoNetoDespuesDeImpuestos End With Try cmd.ExecuteNonQuery() Transaccion.Commit() retorno = 0 Catch ex As Exception MsgBox("Error al Guardar Reporto : " & ex.GetType.ToString) MsgBox("Mensaje: " & ex.Message) retorno = 1 Try Transaccion.Rollback() retorno = 2 Catch ex2 As Exception MsgBox("Error en Rollback: " & ex2.GetType.ToString) MsgBox("Mensaje Rollbak: " & ex2.Message) retorno = 3 End Try End Try cmd.Dispose() cn.Dispose() Return retorno End Function Public Sub CargarRegistro(ByVal oReportos As ReportosCE, Tipo As String, IdRegistro As Integer) Dim drd As SqlDataReader Dim cmd As SqlCommand Dim sql As String Dim Tabla As String If Tipo = "P" Then Tabla = "PREP" End If If Tipo = "I" Then Tabla = "IREP" End If sql = "SELECT * FROM [dbo].[" & Tabla & "] T0 WHERE T0.[DocId]=@DocId" cn = oCon.Conectar cn.Open() cmd = New SqlCommand cmd.CommandText = sql cmd.Parameters.Add("@DocId", SqlDbType.Int).Value = IdRegistro cmd.Connection = cn drd = cmd.ExecuteReader If drd.HasRows Then 'SE ENCONTRO EL REGISTRO If drd.Read Then oReportos.CodigoCasa = drd.Item("CodCasa") oReportos.Nombre = drd.Item("Nombre") oReportos.FechaDeCompra = drd.Item("FCompra") oReportos.ValorTransado = drd.Item("ValTrans") oReportos.Dias = drd.Item("Dias") oReportos.FechaVencimiento = drd.Item("FVenc") oReportos.Rendimiento = drd.Item("Rend") oReportos.Impuestos = drd.Item("Impuestos") oReportos.OtrosCostos = drd.Item("OtrosCostos") 'oReportos.TotalCostos = drd.Item("TotCostos") oReportos.MontoALiquidar = drd.Item("MontoLiq") 'oReportos.InteresAGenerar = drd.Item("InterGen") oReportos.CostoDeTransferencia = drd.Item("CostoTransfr") 'oReportos.RendimientoNetoAntesDeImpuestos = drd.Item("RendNetoAntImp") oReportos.ValorReCompra = drd.Item("ValReCompra") oReportos.ImpuestosLiquidacion = drd.Item("ImpLiquidacion") 'oReportos.IngresoNeto = drd.Item("IngrNeto") oReportos.ValorNeto = drd.Item("ValNeto") 'oReportos.RendimientoNetoDespuesDeImpuestos = drd.Item("RendNetoDespImp") End If Else 'NO SE ENCONTRO EL REGISTRO End If drd.Close() cmd.Dispose() cn.Dispose() End Sub Public Function CargarRegistro(ByVal vCodigoInversion As String) As ReportosCE Dim oReportosCE As ReportosCE Dim sql As String Dim cmd As SqlCommand Dim drd As SqlDataReader oReportosCE = New ReportosCE sql = "SELECT * FROM [dbo].[REP0] T0 WHERE T0.[CodInv]=@CodInv" cn = oCon.Conectar If Not cn.State = ConnectionState.Open Then cn.Open() End If cmd = New SqlCommand cmd.CommandText = sql cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = vCodigoInversion cmd.Connection = cn drd = cmd.ExecuteReader If drd.HasRows Then 'SE ENCONTRO EL REGISTRO If drd.Read Then oReportosCE.CodigoInversion = vCodigoInversion oReportosCE.Nombre = drd.Item("Nombre") oReportosCE.FechaDeCompra = drd.Item("FCompra") oReportosCE.ValorTransado = drd.Item("ValTrans") oReportosCE.Dias = drd.Item("Dias") oReportosCE.FechaVencimiento = drd.Item("FVenc") oReportosCE.Rendimiento = drd.Item("Rend") End If Else 'NO SE ENCONTRO EL REGISTRO End If drd.Close() cmd.Dispose() cn.Dispose() Return oReportosCE End Function End Class