Imports System.Data.SqlClient Public Class BonosDAO Dim oDAOGeneral As New DAOGeneral Public Function Nuevo(ByVal oBono As BonosCE) As Integer Dim objCon As New Conexion Dim retorno As Integer Dim query As String Dim cmd As SqlCommand 'Dim vSiguienteCodigo As String = String.Empty Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If If Not oBono Is Nothing Then 'VIENE OBJETO BONO 'vSiguienteCodigo = Me.SiguienteCodigo(oBono) query = "INSERT INTO [dbo].[BON0] ([CodInv] ,[PeriodicC] ,[ValNomC] ,[UltFCupC] ,[SigFCupC] ,[FLiqC] ,[FVencC] ,[PorcCupC] --,[YTMVencComC] ,[YTMVencC] ,[PrecVencC] ,[PrecioCompra] ,[DiasBaseC] --,[DiasAcumC] --,[DiasVencC] --,[PorcIntAcumC] --,[IntAcumC] --,[PrecioSucioC] --,[ValTransC] --,[MontoPagarC] ,[CostoTransC] ,[PeriodicV] ,[ValNomV] ,[UltFCupV] ,[SigFCupV] ,[FLiqV] ,[FVencV] ,[PorcCupV] --,[YTMVencComV] ,[YTMVencV] ,[PrecVencV] ,[PrecioVenta] ,[DiasBaseV] --,[DiasAcumV] --,[DiasVencV] --,[PorcIntAcumV] --,[IntAcumV] --,[PrecioSucioV] --,[ValTransV] --,[MontoPagarV] ,[CostoTransV] --,[ValNomRO] --,[PlazoRO] --,[PrecioCompraRO] --,[PrecioVentaRO] --,[GanPerdCap] --,[IngrPorInt] --,[CostosTotales] --,[GanPerdTot] --,[RendGanPerd] --,[RendInt] --,[RendAntISR] --,[RendDespISR] ) VALUES (@CodInv ,@PeriodicC ,@ValNomC ,@UltFCupC ,@SigFCupC ,@FLiqC ,@FVencC ,@PorcCupC --,@YTMVencComC ,@YTMVencC ,@PrecVencC ,@PrecioCompra ,@DiasBaseC --,@DiasAcumC --,@DiasVencC --,@PorcIntAcumC --,@IntAcumC --,@PrecioSucioC --,@ValTransC --,@MontoPagarC ,@CostoTransC ,@PeriodicV ,@ValNomV ,@UltFCupV ,@SigFCupV ,@FLiqV ,@FVencV ,@PorcCupV --,@YTMVencComV ,@YTMVencV ,@PrecVencV ,@PrecioVenta ,@DiasBaseV --,@DiasAcumV --,@DiasVencV --,@PorcIntAcumV --,@IntAcumV --,@PrecioSucioV --,@ValTransV --,@MontoPagarV ,@CostoTransV --,@ValNomRO --,@PlazoRO --,@PrecioCompraRO --,@PrecioVentaRO --,@GanPerdCap --,@IngrPorInt --,@CostosTotales --,@GanPerdTot --,@RendGanPerd --,@RendInt --,@RendAntISR --,@RendDespISR )" cmd = New SqlCommand cmd.CommandText = query With cmd.Parameters .Add("@CodInv", SqlDbType.VarChar).Value = oBono.CodigoInversion .Add("@PeriodicC", SqlDbType.VarChar).Value = oBono.PeriodicidadCompra .Add("@ValNomC", SqlDbType.Float).Value = oBono.ValorNominalCompra .Add("@UltFCupC", SqlDbType.Date).Value = oBono.UltimaFechaCuponCompra .Add("@SigFCupC", SqlDbType.Date).Value = oBono.SiguienteFechaCuponCompra .Add("@FLiqC", SqlDbType.Date).Value = oBono.FechaLiquidacionCompra .Add("@FVencC", SqlDbType.Date).Value = oBono.FechaVencimientoCompra .Add("@PorcCupC", SqlDbType.Float).Value = oBono.PorcentajeCuponCompra '.Add("@YTMVencComC", SqlDbType.Float).Value = oBono.YTMAlVencimientoComisionCompra .Add("@YTMVencC", SqlDbType.Float).Value = oBono.YTMAlVencimientoCompra .Add("@PrecVencC", SqlDbType.Float).Value = oBono.PrecioAlVencimientoCompra .Add("@PrecioCompra", SqlDbType.Float).Value = oBono.PrecioCompra .Add("@DiasBaseC", SqlDbType.Int).Value = oBono.DiasBaseCompra '.Add("@DiasAcumC", SqlDbType.Int).Value = oBono.DiasAcumuladosCompra '.Add("@DiasVencC", SqlDbType.Int).Value = oBono.DiasAlVencimientoCompra '.Add("@PorcIntAcumC", SqlDbType.Float).Value = oBono.PorcentajeInteresAcumuladoCompra '.Add("@IntAcumC", SqlDbType.Float).Value = oBono.InteresAcumuladoCompra '.Add("@PrecioSucioC", SqlDbType.Float).Value = oBono.PrecioSucioCompra '.Add("@ValTransC", SqlDbType.Float).Value = oBono.ValorTransadoCompra '.Add("@MontoPagarC", SqlDbType.Float).Value = oBono.MontoAPagarCompra .Add("@CostoTransC", SqlDbType.Float).Value = oBono.CostoDeTransferenciaCompra .Add("@PeriodicV", SqlDbType.Float).Value = oBono.PeriodicidadVenta .Add("@ValNomV", SqlDbType.Float).Value = oBono.ValorNominalVenta .Add("@UltFCupV", SqlDbType.Date).Value = oBono.UltimaFechaCuponVenta .Add("@SigFCupV", SqlDbType.Date).Value = oBono.SiguienteFechaCuponVenta .Add("@FLiqV", SqlDbType.Date).Value = oBono.FechaLiquidacionVenta .Add("@FVencV", SqlDbType.Date).Value = oBono.FechaVencimientoVenta .Add("@PorcCupV", SqlDbType.Float).Value = oBono.PorcentajeCuponVenta '.Add("@YTMVencComV", SqlDbType.Float).Value = oBono.YTMAlVencimientoComisionVenta .Add("@YTMVencV", SqlDbType.Float).Value = oBono.YTMAlVencimientoVenta .Add("@PrecVencV", SqlDbType.Float).Value = oBono.PrecioAlVencimientoVenta .Add("@PrecioVenta", SqlDbType.Float).Value = oBono.PrecioVenta .Add("@DiasBaseV", SqlDbType.Int).Value = oBono.DiasBaseVenta '.Add("@DiasAcumV", SqlDbType.Int).Value = oBono.DiasAcumuladosVenta '.Add("@DiasVencV", SqlDbType.Int).Value = oBono.DiasAlVencimientoVenta '.Add("@PorcIntAcumV", SqlDbType.Float).Value = oBono.PorcentajeInteresAcumuladoVenta '.Add("@IntAcumV", SqlDbType.Float).Value = oBono.InteresAcumuladoVenta '.Add("@PrecioSucioV", SqlDbType.Float).Value = oBono.PrecioSucioVenta '.Add("@ValTransV", SqlDbType.Float).Value = oBono.ValorTransadoVenta '.Add("@MontoPagarV", SqlDbType.Float).Value = oBono.MontoARecibirVenta .Add("@CostoTransV", SqlDbType.Float).Value = oBono.CostoDeTransferenciaVenta '.Add("@ValNomRO", SqlDbType.Float).Value = oBono.ValorNominalRO '.Add("@PlazoRO", SqlDbType.Float).Value = oBono.DiasPlazoRO '.Add("@PrecioCompraRO", SqlDbType.Float).Value = oBono.PrecioCompraRO '.Add("@PrecioVentaRO", SqlDbType.Float).Value = oBono.PrecioVentaRO '.Add("@GanPerdCap", SqlDbType.Float).Value = oBono.GananciaPerdidaDeCapital '.Add("@IngrPorInt", SqlDbType.Float).Value = oBono.IngresoPorInteres '.Add("@CostosTotales", SqlDbType.Float).Value = oBono.CostosTotales '.Add("@GanPerdTot", SqlDbType.Float).Value = oBono.GananciaPerdidaTotal '.Add("@RendGanPerd", SqlDbType.Float).Value = oBono.RendimientoGananciaPerdida '.Add("@RendInt", SqlDbType.Float).Value = oBono.RendimientoDeIntereses '.Add("@RendAntISR", SqlDbType.Float).Value = oBono.RendimientoAntesImpuestos '.Add("@RendDespISR", SqlDbType.Float).Value = oBono.RendimientoDespuesImpuestos End With cmd.Connection = cn Try retorno = cmd.ExecuteNonQuery Catch ex As Exception retorno = 0 End Try Else 'NO VIENE OBJETO BONO retorno = 0 End If cn.Close() Return retorno End Function Function Nuevo(ByVal oBono As BonosCE, DocId As Integer, Tipo As String) As Integer Dim objCon As New Conexion Dim retorno As Integer = -1 Dim Transaccion As SqlTransaction Dim query As String Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If Dim Tabla As String = "" If Tipo = "P" Then Tabla = "PBON" End If If Tipo = "I" Then Tabla = "IBON" End If Dim cmd As SqlCommand = cn.CreateCommand Transaccion = cn.BeginTransaction("NuevoBono") cmd.Connection = cn cmd.Transaction = Transaccion query = "INSERT INTO [dbo].[PBON] ([DocId] ,[CodCasaC] ,[ValNomC] ,[UltFCupC] ,[SigFCupC] ,[FLiqC] ,[FVencC] ,[PorcCupC] ,[YMTVencComC] ,[YMTVencC] ,[PrecVencC] ,[PrecioCompra] ,[DiasBaseC] ,[DiasAcumC] ,[DiasVencC] ,[PorcIntAcumC] ,[IntAcumC] ,[PrecioSucioC] ,[ValTransC] ,[MontoPagarC] ,[CostoTransC] ,[CodCasaV] ,[ValNomV] ,[UltFCupV] ,[SigFCupV] ,[FLiqV] ,[FVencV] ,[PorcCupV] ,[YMTVencComV] ,[YMTVencV] ,[PrecVencV] ,[PrecioVenta] ,[DiasBaseV] ,[DiasAcumV] ,[DiasVencV] ,[PorcIntAcumV] ,[IntAcumV] ,[PrecioSucioV] ,[ValTransV] ,[MontoPagarV] ,[CostoTransV] ,[ValNomRO] ,[PlazoRO] ,[PrecioCompraRO] ,[PrecioVentaRO] ,[GanPerdCap] ,[IngrPorInt] ,[CostosTotales] ,[GanPerdTot] ,[RendGanPerd] ,[RendInt] ,[RendAntISR] ,[RendDespISR]) VALUES (@DocId ,@CodCasaC ,@ValNomC ,@UltFCupC ,@SigFCupC ,@FLiqC ,@FVencC ,@PorcCupC ,@YMTVencComC ,@YMTVencC ,@PrecVencC ,@PrecioCompra ,@DiasBaseC ,@DiasAcumC ,@DiasVencC ,@PorcIntAcumC ,@IntAcumC ,@PrecioSucioC ,@ValTransC ,@MontoPagarC ,@CostoTransC ,@CodCasaV ,@ValNomV ,@UltFCupV ,@SigFCupV ,@FLiqV ,@FVencV ,@PorcCupV ,@YMTVencComV ,@YMTVencV ,@PrecVencV ,@PrecioVenta ,@DiasBaseV ,@DiasAcumV ,@DiasVencV ,@PorcIntAcumV ,@IntAcumV ,@PrecioSucioV ,@ValTransV ,@MontoPagarV ,@CostoTransV ,@ValNomRO ,@PlazoRO ,@PrecioCompraRO ,@PrecioVentaRO ,@GanPerdCap ,@IngrPorInt ,@CostosTotales ,@GanPerdTot ,@RendGanPerd ,@RendInt ,@RendAntISR ,@RendDespISR )" cmd.CommandText = query With cmd.Parameters .Add("@DocId", SqlDbType.Int).Value = DocId '.Add("@CodCasaC", SqlDbType.VarChar).Value = oBono.CodigoCasaCompra .Add("@ValNomC", SqlDbType.Decimal).Value = oBono.ValorNominalCompra .Add("@UltFCupC", SqlDbType.DateTime).Value = oBono.UltimaFechaCuponCompra .Add("@SigFCupC", SqlDbType.DateTime).Value = oBono.SiguienteFechaCuponCompra .Add("@FLiqC", SqlDbType.DateTime).Value = oBono.FechaLiquidacionCompra .Add("@FVencC", SqlDbType.DateTime).Value = oBono.FechaVencimientoCompra .Add("@PorcCupC", SqlDbType.Decimal).Value = oBono.PorcentajeCuponCompra .Add("@YMTVencComC", SqlDbType.Decimal).Value = oBono.YTMAlVencimientoComisionCompra .Add("@YMTVencC", SqlDbType.Decimal).Value = oBono.YTMAlVencimientoCompra .Add("@PrecVencC", SqlDbType.Decimal).Value = oBono.PrecioAlVencimientoCompra .Add("@PrecioCompra", SqlDbType.Decimal).Value = oBono.PrecioCompra .Add("@DiasBaseC", SqlDbType.Int).Value = oBono.DiasBaseCompra .Add("@DiasAcumC", SqlDbType.Int).Value = oBono.DiasAcumuladosCompra .Add("@DiasVencC", SqlDbType.Int).Value = oBono.DiasAlVencimientoCompra .Add("@PorcIntAcumC", SqlDbType.Decimal).Value = oBono.PorcentajeInteresAcumuladoCompra .Add("@IntAcumC", SqlDbType.Decimal).Value = oBono.InteresAcumuladoCompra .Add("@PrecioSucioC", SqlDbType.Decimal).Value = oBono.PrecioSucioCompra .Add("@ValTransC", SqlDbType.Decimal).Value = oBono.ValorTransadoCompra .Add("@MontoPagarC", SqlDbType.Decimal).Value = oBono.MontoAPagarCompra .Add("@CostoTransC", SqlDbType.Decimal).Value = oBono.CostoDeTransferenciaCompra '.Add("@CodCasaV", SqlDbType.VarChar).Value = oBono.CodigoCasaVenta .Add("@ValNomV", SqlDbType.Decimal).Value = oBono.ValorNominalVenta .Add("@UltFCupV", SqlDbType.DateTime).Value = oBono.UltimaFechaCuponVenta .Add("@SigFCupV", SqlDbType.DateTime).Value = oBono.SiguienteFechaCuponVenta .Add("@FLiqV", SqlDbType.DateTime).Value = oBono.FechaLiquidacionVenta .Add("@FVencV", SqlDbType.DateTime).Value = oBono.FechaVencimientoVenta .Add("@PorcCupV", SqlDbType.Decimal).Value = oBono.PorcentajeCuponVenta .Add("@YMTVencComV", SqlDbType.Decimal).Value = oBono.YTMAlVencimientoComisionVenta .Add("@YMTVencV", SqlDbType.Decimal).Value = oBono.YTMAlVencimientoVenta .Add("@PrecVencV", SqlDbType.Decimal).Value = oBono.PrecioAlVencimientoVenta .Add("@PrecioVenta", SqlDbType.Decimal).Value = oBono.PrecioVenta .Add("@DiasBaseV", SqlDbType.Int).Value = oBono.DiasBaseVenta .Add("@DiasAcumV", SqlDbType.Int).Value = oBono.DiasAcumuladosVenta .Add("@DiasVencV", SqlDbType.Int).Value = oBono.DiasAlVencimientoVenta .Add("@PorcIntAcumV", SqlDbType.Decimal).Value = oBono.InteresAcumuladoPorcentajeVenta .Add("@IntAcumV", SqlDbType.Decimal).Value = oBono.InteresAcumuladoVenta .Add("@PrecioSucioV", SqlDbType.Decimal).Value = oBono.PrecioSucioVenta .Add("@ValTransV", SqlDbType.Decimal).Value = oBono.ValorTransadoVenta .Add("@MontoPagarV", SqlDbType.Decimal).Value = oBono.MontoARecibirVenta .Add("@CostoTransV", SqlDbType.Decimal).Value = oBono.CostoDeTransferenciaVenta .Add("@ValNomRO", SqlDbType.Decimal).Value = oBono.ValorNominalRO .Add("@PlazoRO", SqlDbType.Decimal).Value = oBono.DiasPlazoRO .Add("@PrecioCompraRO", SqlDbType.Decimal).Value = oBono.PrecioCompraRO .Add("@PrecioVentaRO", SqlDbType.Decimal).Value = oBono.PrecioVentaRO .Add("@GanPerdCap", SqlDbType.Decimal).Value = oBono.GananciaPerdidaDeCapital .Add("@IngrPorInt", SqlDbType.Decimal).Value = oBono.IngresoPorInteres .Add("@CostosTotales", SqlDbType.Decimal).Value = oBono.CostosTotales .Add("@GanPerdTot", SqlDbType.Decimal).Value = oBono.GananciaPerdidaTotal .Add("@RendGanPerd", SqlDbType.Decimal).Value = oBono.RendimientoGananciaPerdida .Add("@RendInt", SqlDbType.Decimal).Value = oBono.RendimientoDeIntereses .Add("@RendAntISR", SqlDbType.Decimal).Value = oBono.RendimientoAntesImpuestos .Add("@RendDespISR", SqlDbType.Decimal).Value = oBono.RendimientoDespuesImpuestos End With Try cmd.ExecuteNonQuery() Transaccion.Commit() retorno = 0 Catch ex As Exception MsgBox("Error al Guardar Bono : " & 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 oBonos As BonosCE, Tipo As String, IdRegistro As Integer) Dim objCon As New Conexion Dim drd As SqlDataReader Dim cmd As SqlCommand Dim sql As String Dim Tabla As String Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If If Tipo = "P" Then Tabla = "PBON" End If If Tipo = "I" Then Tabla = "IBON" End If sql = "SELECT * FROM [dbo].[" & Tabla & "] T0 WHERE T0.[DocId]=@DocId" 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 'oBonos.CodigoCasaCompra = drd.Item("CodCasaC") oBonos.ValorNominalCompra = drd.Item("ValNomC") oBonos.UltimaFechaCuponCompra = drd.Item("UltFCupC") oBonos.SiguienteFechaCuponCompra = drd.Item("SigFCupC") oBonos.FechaLiquidacionCompra = drd.Item("FLiqC") oBonos.FechaVencimientoCompra = drd.Item("FVencC") oBonos.PorcentajeCuponCompra = drd.Item("PorcCupC") 'oBonos.YTMAlVencimientoComisionCompra = drd.Item("YTMVencComC") 'oBonos.YTMAlVencimientoCompra = drd.Item("YTMVencC") oBonos.PrecioAlVencimientoCompra = drd.Item("PrecVencC") oBonos.PrecioCompra = drd.Item("PrecioCompra") oBonos.DiasBaseCompra = drd.Item("DiasBaseC") 'oBonos.DiasAcumuladosCompra = drd.Item("DiasAcumC") 'oBonos.DiasAlVencimientoCompra = drd.Item("DiasVencC") 'oBonos.PorcentajeInteresAcumuladoCompra = drd.Item("PorcIntAcumC") 'oBonos.InteresAcumuladoCompra = drd.Item("IntAcumC") 'oBonos.PrecioSucioCompra = drd.Item("PrecioSucioC") 'oBonos.ValorTransadoCompra = drd.Item("ValTransC") 'oBonos.MontoAPagarCompra = drd.Item("MontoPagarC") oBonos.CostoDeTransferenciaCompra = drd.Item("CostoTransC") 'oBonos.CodigoCasaVenta = drd.Item("CodCasaV") oBonos.ValorNominalVenta = drd.Item("ValNomV") oBonos.UltimaFechaCuponVenta = drd.Item("UltFCupV") oBonos.SiguienteFechaCuponVenta = drd.Item("SigFCupV") oBonos.FechaLiquidacionVenta = drd.Item("FLiqV") oBonos.FechaVencimientoVenta = drd.Item("FVencV") oBonos.PorcentajeCuponVenta = drd.Item("PorcCupV") 'oBonos.YTMAlVencimientoComisionVenta = drd.Item("YTMVencComV") 'oBonos.YTMAlVencimientoVenta = drd.Item("YTMVencV") oBonos.PrecioAlVencimientoVenta = drd.Item("PrecVencV") oBonos.PrecioVenta = drd.Item("PrecioVenta") oBonos.DiasBaseVenta = drd.Item("DiasBaseV") 'oBonos.DiasAcumuladosVenta = drd.Item("DiasAcumV") 'oBonos.DiasAlVencimientoVenta = drd.Item("DiasVencV") 'oBonos.PorcentajeInteresAcumuladoVenta = drd.Item("PorcIntAcumV") 'oBonos.InteresAcumuladoVenta = drd.Item("IntAcumV") 'oBonos.PrecioSucioVenta = drd.Item("PrecioSucioV") 'oBonos.ValorTransadoVenta = drd.Item("ValTransV") 'oBonos.MontoAPagarVenta = drd.Item("MontoPagarV") oBonos.CostoDeTransferenciaVenta = drd.Item("CostoTransV") 'oBonos.ValorNominalRO = drd.Item("ValNomRO") 'oBonos.PlazoRO = drd.Item("PlazoRO") 'oBonos.PrecioCompraRO = drd.Item("PrecioCompraRO") 'oBonos.PrecioVentaRO = drd.Item("PrecioVentaRO") 'oBonos.GananciaPerdidaDeCapital = drd.Item("GanPerdCap") 'oBonos.IngresoPorInteres = drd.Item("IngrPorInt") 'oBonos.CostosTotales = drd.Item("CostosTotales") 'oBonos.GananciaPerdidaTotal = drd.Item("GanPerdTot") 'oBonos.RendimientoGananciaPerdida = drd.Item("RendGanPerd") 'oBonos.RendimientoDeIntereses = drd.Item("RendInt") 'oBonos.RendimientoAntesImpuestos = drd.Item("RendAntISR") 'oBonos.RendimientoDespuesImpuestos = drd.Item("RendDespISR") End If Else 'NO SE ENCONTRO EL REGISTRO End If drd.Close() cmd.Dispose() cn.Dispose() End Sub Public Function CargarRegistro(ByVal CodigoInversion As String) As BonosCE Dim objCon As New Conexion Dim oBonos As BonosCE Dim drd As SqlDataReader Dim cmd As SqlCommand Dim sql As String Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If sql = "SELECT * FROM [dbo].[BON0] T0 WHERE T0.CodInv=@CodInv" cmd = New SqlCommand cmd.CommandText = sql cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = CodigoInversion cmd.Connection = cn drd = cmd.ExecuteReader If drd.HasRows Then 'SE ENCONTRO EL REGISTRO oBonos = New BonosCE If drd.Read Then 'oBonos.CodigoCasaCompra = drd.Item("CodCasaC") oBonos.PeriodicidadCompra = drd.Item("PeriodicV") oBonos.ValorNominalCompra = drd.Item("ValNomC") oBonos.UltimaFechaCuponCompra = drd.Item("UltFCupC") oBonos.SiguienteFechaCuponCompra = drd.Item("SigFCupC") oBonos.FechaLiquidacionCompra = drd.Item("FLiqC") oBonos.FechaVencimientoCompra = drd.Item("FVencC") oBonos.PorcentajeCuponCompra = drd.Item("PorcCupC") 'oBonos.YTMAlVencimientoComisionCompra = drd.Item("YTMVencComC") 'oBonos.YTMAlVencimientoCompra = drd.Item("YTMVencC") oBonos.PrecioAlVencimientoCompra = drd.Item("PrecVencC") oBonos.PrecioCompra = drd.Item("PrecioCompra") oBonos.DiasBaseCompra = drd.Item("DiasBaseC") 'oBonos.DiasAcumuladosCompra = drd.Item("DiasAcumC") 'oBonos.DiasAlVencimientoCompra = drd.Item("DiasVencC") 'oBonos.PorcentajeInteresAcumuladoCompra = drd.Item("PorcIntAcumC") 'oBonos.InteresAcumuladoCompra = drd.Item("IntAcumC") 'oBonos.PrecioSucioCompra = drd.Item("PrecioSucioC") 'oBonos.ValorTransadoCompra = drd.Item("ValTransC") 'oBonos.MontoAPagarCompra = drd.Item("MontoPagarC") oBonos.CostoDeTransferenciaCompra = drd.Item("CostoTransC") 'oBonos.CodigoCasaVenta = drd.Item("CodCasaV") oBonos.PeriodicidadVenta = drd.Item("PeriodicV") oBonos.ValorNominalVenta = drd.Item("ValNomV") oBonos.UltimaFechaCuponVenta = drd.Item("UltFCupV") oBonos.SiguienteFechaCuponVenta = drd.Item("SigFCupV") oBonos.FechaLiquidacionVenta = drd.Item("FLiqV") oBonos.FechaVencimientoVenta = drd.Item("FVencV") oBonos.PorcentajeCuponVenta = drd.Item("PorcCupV") 'oBonos.YTMAlVencimientoComisionVenta = drd.Item("YTMVencComV") 'oBonos.YTMAlVencimientoVenta = drd.Item("YTMVencV") oBonos.PrecioAlVencimientoVenta = drd.Item("PrecVencV") oBonos.PrecioVenta = drd.Item("PrecioVenta") oBonos.DiasBaseVenta = drd.Item("DiasBaseV") 'oBonos.DiasAcumuladosVenta = drd.Item("DiasAcumV") 'oBonos.DiasAlVencimientoVenta = drd.Item("DiasVencV") 'oBonos.PorcentajeInteresAcumuladoVenta = drd.Item("PorcIntAcumV") 'oBonos.InteresAcumuladoVenta = drd.Item("IntAcumV") 'oBonos.PrecioSucioVenta = drd.Item("PrecioSucioV") 'oBonos.ValorTransadoVenta = drd.Item("ValTransV") 'oBonos.MontoAPagarVenta = drd.Item("MontoPagarV") oBonos.CostoDeTransferenciaVenta = drd.Item("CostoTransV") 'oBonos.ValorNominalRO = drd.Item("ValNomRO") 'oBonos.PlazoRO = drd.Item("PlazoRO") 'oBonos.PrecioCompraRO = drd.Item("PrecioCompraRO") 'oBonos.PrecioVentaRO = drd.Item("PrecioVentaRO") 'oBonos.GananciaPerdidaDeCapital = drd.Item("GanPerdCap") 'oBonos.IngresoPorInteres = drd.Item("IngrPorInt") 'oBonos.CostosTotales = drd.Item("CostosTotales") 'oBonos.GananciaPerdidaTotal = drd.Item("GanPerdTot") 'oBonos.RendimientoGananciaPerdida = drd.Item("RendGanPerd") 'oBonos.RendimientoDeIntereses = drd.Item("RendInt") 'oBonos.RendimientoAntesImpuestos = drd.Item("RendAntISR") 'oBonos.RendimientoDespuesImpuestos = drd.Item("RendDespISR") End If Else 'NO SE ENCONTRO EL REGISTRO End If drd.Close() cmd.Dispose() cn.Dispose() Return oBonos End Function Public Function Actualizar(ByVal oBonosCE As BonosCE) As Integer Dim objCon As New Conexion Dim retorno As Integer Dim sql As String Dim cmd As SqlCommand Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If sql = "UPDATE [dbo].[BON0] SET [PeriodicC] = @PeriodicC ,[ValNomC] = @ValNomC ,[UltFCupC] = @UltFCupC ,[SigFCupC] = @SigFCupC ,[FLiqC] = @FLiqC ,[FVencC] = @FVencC ,[PorcCupC] = @PorcCupC ,[YTMVencComC] = @YTMVencComC ,[PrecVencC] = @PrecVencC ,[PrecioCompra] = @PrecioCompra ,[DiasBaseC] = @DiasBaseC ,[CostoTransC] = @CostoTransC ,[PeriodicV] = @PeriodicV ,[ValNomV] = @ValNomV ,[UltFCupV] = @UltFCupV ,[SigFCupV] = @SigFCupV ,[FLiqV] = @FLiqV ,[FVencV] = @FVencV ,[PorcCupV] = @PorcCupV ,[YTMVencComV] = @YTMVencComV ,[DiasBaseV] = @DiasBaseV ,[CostoTransV] = @CostoTransV WHERE [CodInv] = @CodInv " cmd = New SqlCommand cmd.CommandText = sql With cmd.Parameters .Add("@PeriodicC", SqlDbType.VarChar).Value = oBonosCE.PeriodicidadCompra .Add("@ValNomC", SqlDbType.Float).Value = oBonosCE.ValorNominalCompra .Add("@UltFCupC", SqlDbType.Date).Value = oBonosCE.UltimaFechaCuponCompra .Add("@SigFCupC", SqlDbType.Date).Value = oBonosCE.SiguienteFechaCuponCompra .Add("@FLiqC", SqlDbType.Date).Value = oBonosCE.FechaLiquidacionCompra .Add("@FVencC", SqlDbType.Date).Value = oBonosCE.FechaVencimientoCompra .Add("@PorcCupC", SqlDbType.Float).Value = oBonosCE.PorcentajeCuponCompra .Add("@YTMVencComC", SqlDbType.Float).Value = oBonosCE.YTMAlVencimientoComisionCompra .Add("@PrecVencC", SqlDbType.Float).Value = oBonosCE.PrecioAlVencimientoCompra .Add("@PrecioCompra", SqlDbType.Float).Value = oBonosCE.PrecioCompra .Add("@DiasBaseC", SqlDbType.Int).Value = oBonosCE.DiasBaseCompra .Add("@CostoTransC", SqlDbType.Float).Value = oBonosCE.CostoDeTransferenciaCompra .Add("@PeriodicV", SqlDbType.VarChar).Value = oBonosCE.PeriodicidadVenta .Add("@ValNomV", SqlDbType.Float).Value = oBonosCE.ValorNominalVenta .Add("@UltFCupV", SqlDbType.Date).Value = oBonosCE.UltimaFechaCuponVenta .Add("@SigFCupV", SqlDbType.Date).Value = oBonosCE.SiguienteFechaCuponVenta .Add("@FLiqV", SqlDbType.Date).Value = oBonosCE.FechaLiquidacionVenta .Add("@FVencV", SqlDbType.Date).Value = oBonosCE.FechaVencimientoVenta .Add("@PorcCupV", SqlDbType.Float).Value = oBonosCE.PorcentajeCuponVenta .Add("@YTMVencComV", SqlDbType.Float).Value = oBonosCE.YTMAlVencimientoComisionVenta .Add("@DiasBaseV", SqlDbType.Int).Value = oBonosCE.DiasBaseVenta .Add("@CostoTransV", SqlDbType.Float).Value = oBonosCE.CostoDeTransferenciaVenta .Add("@CodInv", SqlDbType.VarChar).Value = oBonosCE.CodigoInversion End With cmd.Connection = cn retorno = cmd.ExecuteNonQuery GuardarIngresos(oBonosCE.CodigoInversion, oBonosCE.ImpuestosYComisiones) Me.GuardarImpuestosYComisiones(oBonosCE.CodigoInversion, oBonosCE.ImpuestosYComisiones) cn.Close() Return retorno End Function Private Sub GuardarIngresos(ByVal CodInversion As String, ByVal dt As DataTable) Dim objCon As New Conexion Dim sql As String Dim cmd As SqlCommand Dim res As Integer Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If sql = "DELETE FROM [dbo].[BON1] WHERE [CodInv]=@CodInv" cmd = New SqlCommand cmd.CommandText = sql cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = CodInversion cmd.Connection = cn res = cmd.ExecuteNonQuery sql = String.Empty If dt.Rows.Count > 0 Then For Each dr In dt.Rows cmd = New SqlCommand sql = "INSERT INTO [dbo].[BON1] ([CodInv] ,[NumCupon] ,[FechaCupon] ,[Dias] ,[Ingreso] ,[PorcImpuesto] ,[MontoImpuesto] ,[Liquido] ) VALUES (@CodInv ,@NumCupon ,@FechaCupon ,@Dias ,@Ingreso ,@PorcImpuesto ,@MontoImpuesto ,@Liquido ) " cmd.CommandText = sql cmd.Parameters.AddWithValue("@CodInv", CodInversion) cmd.Parameters.AddWithValue("@NumCupon", dr("NumCupon")) cmd.Parameters.AddWithValue("@FechaCupon", dr("FechaCupon")) cmd.Parameters.AddWithValue("@Dias", dr("Dias")) cmd.Parameters.AddWithValue("@Ingreso", dr("Ingreso")) cmd.Parameters.AddWithValue("@PorcImpuesto", dr("PorcImpuesto")) cmd.Parameters.AddWithValue("@MontoImpuesto", dr("MontoImpuesto")) cmd.Parameters.AddWithValue("@Liquido", dr("MontoImpuesto")) cmd.Connection = cn res = cmd.ExecuteNonQuery Next End If cn.Close() End Sub Private Sub GuardarImpuestosYComisiones(ByVal CodInversion As String, ByVal dt As DataTable) Dim objCon As New Conexion Dim sql As String Dim cmd As SqlCommand Dim res As Integer Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If sql = "DELETE FROM [dbo].[BON2] WHERE [CodInv]=@CodInv" cmd = New SqlCommand cmd.CommandText = sql cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = CodInversion cmd.Connection = cn res = cmd.ExecuteNonQuery sql = String.Empty If dt.Rows.Count > 0 Then For Each dr In dt.Rows cmd = New SqlCommand sql = "INSERT INTO [dbo].[BON2] ([CodInv] ,[TipoOper] ,[CodImp] ,[PorcImp] ,[MontoImp] ,[MontoSujeto]) VALUES (@CodInv ,@TipoOper ,@CodImp ,@PorcImp ,@MontoImp ,@MontoSujeto)" cmd.CommandText = sql cmd.Parameters.AddWithValue("@CodInv", CodInversion) cmd.Parameters.AddWithValue("@TipoOper", dr("TipoOper")) cmd.Parameters.AddWithValue("@CodImp", dr("CodImp")) cmd.Parameters.AddWithValue("@PorcImp", dr("PorcImp")) cmd.Parameters.AddWithValue("@MontoImp", dr("MontoImp")) cmd.Parameters.AddWithValue("@MontoSujeto", dr("MontoSujeto")) cmd.Connection = cn res = cmd.ExecuteNonQuery Next End If cn.Close() End Sub Public Function NuevoImpuesto(ByVal Coleccion As Collection, ByVal Codigo As String) Dim objCon As New Conexion Dim retorno As Integer Dim sql As String Dim cmd As SqlCommand Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If sql = "INSERT INTO [dbo].[IMP]( [CodInv] ,[TipoImp] ,[TipoOp] ,[PorcImp] ,[MontoSuje] ,[MontoImp] ) VALUES( @CodInv ,@TipoImp ,@TipoOp ,@PorcImp ,@MontoSuje ,@MontoImp ) " cmd = New SqlCommand cmd.CommandText = sql With cmd.Parameters .Add("@CodInv", SqlDbType.VarChar).Value = Codigo .Add("@TipoImp", SqlDbType.VarChar).Value = Coleccion(1) .Add("@TipoOp", SqlDbType.VarChar).Value = Coleccion(2) .Add("@PorcImp", SqlDbType.Float).Value = Coleccion(3) .Add("@MontoSuje", SqlDbType.Float).Value = Coleccion(4) .Add("@MontoImp", SqlDbType.Float).Value = Coleccion(5) End With cmd.Connection = cn retorno = cmd.ExecuteNonQuery cn.Close() Return retorno End Function Public Function NuevoIngreso(ByVal Coleccion As Collection, ByVal Codigo As String, ByVal InstrumentoFinanciero As String) Dim objCon As New Conexion Dim retorno As Integer Dim sql As String Dim cmd As SqlCommand Dim Tabla As String Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If If (InstrumentoFinanciero = "CINV") Then Tabla = "CIN1" ElseIf (InstrumentoFinanciero = "BONO") Then Tabla = "BON1" ElseIf (InstrumentoFinanciero = "EURB") Then Tabla = "EURB1" ElseIf (InstrumentoFinanciero = "TIT") Then Tabla = "TIT0_0" Else Return 0 End If sql = "INSERT INTO " + Tabla + "( [CodInv] ,[NumCupon] ,[FechaCupon] ,[Dias] ,[Ingreso] ,[PorcImpuesto] ,[MontoImpuesto] ,[Liquido] ) VALUES( @CodInv ,@NumCupon ,@FechaCupon ,@Dias ,@Ingreso ,@PorcImpuesto ,@MontoImpuesto ,@Liquido ) " cmd = New SqlCommand cmd.CommandText = sql Try With cmd.Parameters .Add("@CodInv", SqlDbType.VarChar).Value = Codigo .Add("@NumCupon", SqlDbType.VarChar).Value = Coleccion(1) .Add("@FechaCupon", SqlDbType.DateTime).Value = Coleccion(2) .Add("@Dias", SqlDbType.Int).Value = Coleccion(3) .Add("@Ingreso", SqlDbType.Float).Value = Coleccion(4) .Add("@PorcImpuesto", SqlDbType.Float).Value = Coleccion(5) .Add("@MontoImpuesto", SqlDbType.Float).Value = Coleccion(6) .Add("@Liquido", SqlDbType.Float).Value = Coleccion(7) End With cmd.Connection = cn retorno = cmd.ExecuteNonQuery Catch ex As Exception MsgBox("Datos de ingreso no guardados") Return Nothing End Try cn.Close() Return retorno End Function Public Function ModificarIngreso(ByVal Coleccion As Collection, ByVal Codigo As String, ByVal CodigoInstrumento As String) Dim objCon As New Conexion Dim retorno As Integer Dim sql As String Dim cmd As SqlCommand Dim Tabla As String Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If If (CodigoInstrumento = "CINV") Then Tabla = "CIN1" ElseIf (CodigoInstrumento = "BONO") Then Tabla = "BON1" ElseIf (CodigoInstrumento = "EURB") Then Tabla = "EURB1" ElseIf (CodigoInstrumento = "TIT") Then Tabla = "TIT0_0" Else Return 0 End If sql = "UPDATE " + Tabla + " SET [FechaCupon]=@FechaCupon ,[Dias]=@Dias ,[Ingreso]=@Ingreso ,[PorcImpuesto]=@PorcImpuesto ,[MontoImpuesto]=@MontoImpuesto ,[Liquido]=@Liquido where [CodInv]=@CodInv AND [NumCupon]=@NumCupon " cmd = New SqlCommand cmd.CommandText = sql With cmd.Parameters .Add("@CodInv", SqlDbType.VarChar).Value = Codigo .Add("@NumCupon", SqlDbType.VarChar).Value = Coleccion(1) .Add("@FechaCupon", SqlDbType.DateTime).Value = Coleccion(2) .Add("@Dias", SqlDbType.Int).Value = Coleccion(3) .Add("@Ingreso", SqlDbType.Float).Value = Coleccion(4) .Add("@PorcImpuesto", SqlDbType.Float).Value = Coleccion(5) .Add("@MontoImpuesto", SqlDbType.Float).Value = Coleccion(6) .Add("@Liquido", SqlDbType.Float).Value = Coleccion(7) End With cmd.Connection = cn retorno = cmd.ExecuteNonQuery cn.Close() Return retorno End Function Public Sub EliminarImpuesto(ByVal Codigo As String) Dim objCon As New Conexion Dim sql As String Dim cmd As SqlCommand Dim res As Integer Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If sql = "DELETE FROM [dbo].[IMP] WHERE [CodInv]=@CodInv" cmd = New SqlCommand cmd.CommandText = sql cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo cmd.Connection = cn res = cmd.ExecuteNonQuery cn.Close() End Sub Public Sub EliminarIngreso(ByVal Codigo As String, ByVal NoCupon As Integer, ByVal CodigoInstrumento As String) Dim objCon As New Conexion Dim sql As String Dim cmd As SqlCommand Dim res As Integer Dim Tabla As String Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If If (CodigoInstrumento = "CINV") Then Tabla = "CIN1" ElseIf (CodigoInstrumento = "BONO") Then Tabla = "BON1" ElseIf (CodigoInstrumento = "TIT") Then Tabla = "TIT0_0" ElseIf (CodigoInstrumento = "EURB") Then Tabla = "EURB1" End If sql = "DELETE FROM " + Tabla + " WHERE [CodInv]=@CodInv AND [NumCupon]=@NumCupon" cmd = New SqlCommand cmd.CommandText = sql cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo cmd.Parameters.Add("@NumCupon", SqlDbType.Int).Value = NoCupon cmd.Connection = cn res = cmd.ExecuteNonQuery cn.Close() End Sub Public Sub EliminarIngresoCompleto(ByVal Codigo As String, ByVal CodigoInstrumento As String) Dim objCon As New Conexion Dim sql As String Dim cmd As SqlCommand Dim res As Integer Dim Tabla As String Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If If (CodigoInstrumento = "CINV") Then Tabla = "CIN1" ElseIf (CodigoInstrumento = "BONO") Then Tabla = "BON1" End If sql = "DELETE FROM " + Tabla + " WHERE [CodInv]=@CodInv " Try cmd = New SqlCommand cmd.CommandText = sql cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo cmd.Connection = cn res = cmd.ExecuteNonQuery Catch ex As Exception MsgBox("Datos no actualizados") End Try cn.Close() End Sub Public Function CargarImpuestos(ByVal codigo As String) Dim objCon As New Conexion Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If Dim sql = "select * from IMP where CodInv='" + codigo + "'" Dim cmd As New SqlCommand(sql, cn) Dim dr As SqlDataReader dr = cmd.ExecuteReader Return dr End Function Public Function CargarIngreso(ByVal codigo As String, ByVal CodigoInstrumento As String) Dim objCon As New Conexion Dim Tabla As String Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If If (CodigoInstrumento = "CINV") Then Tabla = "CIN1" ElseIf (CodigoInstrumento = "BONO") Then Tabla = "BON1" ElseIf (CodigoInstrumento = "EURB") Then Tabla = "EURB1" ElseIf (CodigoInstrumento = "TIT") Then Tabla = "TIT0_0" Else Return 0 End If Dim sql = "select * from " + Tabla + " where CodInv='" + codigo + "' order by NumCupon" Dim cmd As New SqlCommand(sql, cn) Dim dr As SqlDataReader dr = cmd.ExecuteReader Return dr End Function End Class