Imports System.Data.SqlClient Public Class CertificadosDeInversionDAO Dim Operaciones As New Operaciones Dim oDAOGeneral As New DAOGeneral Function Nuevo(ByVal oCE As CertificadoDeInversionCE, 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("@ValNomC", SqlDbType.Decimal).Value = oCE.ValorNominalCompra .Add("@UltFCupC", SqlDbType.DateTime).Value = oCE.UltimaFechaCuponCompra .Add("@SigFCupC", SqlDbType.DateTime).Value = oCE.SiguienteFechaCuponCompra .Add("@FLiqC", SqlDbType.DateTime).Value = oCE.FechaLiquidacionCompra .Add("@FVencC", SqlDbType.DateTime).Value = oCE.FechaVencimientoCompra .Add("@PorcCupC", SqlDbType.Decimal).Value = oCE.PorcentajeCuponCompra .Add("@YMTVencComC", SqlDbType.Decimal).Value = oCE.YTMAlVencimientoComisionCompra .Add("@YMTVencC", SqlDbType.Decimal).Value = oCE.YTMAlVencimientoCompra .Add("@PrecVencC", SqlDbType.Decimal).Value = oCE.PrecioAlVencimientoCompra .Add("@PrecioCompra", SqlDbType.Decimal).Value = oCE.PrecioCompra .Add("@DiasBaseC", SqlDbType.Int).Value = oCE.DiasBaseCompra .Add("@DiasAcumC", SqlDbType.Int).Value = oCE.DiasAcumuladosCompra .Add("@DiasVencC", SqlDbType.Int).Value = oCE.DiasAlVencimientoCompra .Add("@PorcIntAcumC", SqlDbType.Decimal).Value = oCE.PorcentajeInteresAcumuladoCompra .Add("@IntAcumC", SqlDbType.Decimal).Value = oCE.InteresAcumuladoCompra .Add("@PrecioSucioC", SqlDbType.Decimal).Value = oCE.PrecioSucioCompra .Add("@ValTransC", SqlDbType.Decimal).Value = oCE.ValorTransadoCompra .Add("@MontoPagarC", SqlDbType.Decimal).Value = oCE.MontoAPagarCompra .Add("@CostoTransC", SqlDbType.Decimal).Value = oCE.CostoDeTransferenciaCompra .Add("@ValNomV", SqlDbType.Decimal).Value = oCE.ValorNominalVenta .Add("@UltFCupV", SqlDbType.DateTime).Value = oCE.UltimaFechaCuponVenta .Add("@SigFCupV", SqlDbType.DateTime).Value = oCE.SiguienteFechaCuponVenta .Add("@FLiqV", SqlDbType.DateTime).Value = oCE.FechaLiquidacionVenta .Add("@FVencV", SqlDbType.DateTime).Value = oCE.FechaVencimientoVenta .Add("@PorcCupV", SqlDbType.Decimal).Value = oCE.PorcentajeCuponVenta .Add("@YMTVencComV", SqlDbType.Decimal).Value = oCE.YTMAlVencimientoComisionVenta .Add("@YMTVencV", SqlDbType.Decimal).Value = oCE.YTMAlVencimientoVenta .Add("@PrecVencV", SqlDbType.Decimal).Value = oCE.PrecioAlVencimientoVenta .Add("@PrecioVenta", SqlDbType.Decimal).Value = oCE.PrecioVenta .Add("@DiasBaseV", SqlDbType.Int).Value = oCE.DiasBaseVenta .Add("@DiasAcumV", SqlDbType.Int).Value = oCE.DiasAcumuladosVenta .Add("@DiasVencV", SqlDbType.Int).Value = oCE.DiasAlVencimientoVenta .Add("@PorcIntAcumV", SqlDbType.Decimal).Value = oCE.InteresAcumuladoPorcentajeVenta .Add("@IntAcumV", SqlDbType.Decimal).Value = oCE.InteresAcumuladoVenta .Add("@PrecioSucioV", SqlDbType.Decimal).Value = oCE.PrecioSucioVenta .Add("@ValTransV", SqlDbType.Decimal).Value = oCE.ValorTransadoVenta .Add("@MontoPagarV", SqlDbType.Decimal).Value = oCE.MontoARecibirVenta .Add("@CostoTransV", SqlDbType.Decimal).Value = oCE.CostoDeTransferenciaVenta .Add("@ValNomRO", SqlDbType.Decimal).Value = oCE.ValorNominalRO .Add("@PlazoRO", SqlDbType.Decimal).Value = oCE.DiasPlazoRO .Add("@PrecioCompraRO", SqlDbType.Decimal).Value = oCE.PrecioCompraRO .Add("@PrecioVentaRO", SqlDbType.Decimal).Value = oCE.PrecioVentaRO .Add("@GanPerdCap", SqlDbType.Decimal).Value = oCE.GananciaPerdidaDeCapital .Add("@IngrPorInt", SqlDbType.Decimal).Value = oCE.IngresoPorInteres .Add("@CostosTotales", SqlDbType.Decimal).Value = oCE.CostosTotales .Add("@GanPerdTot", SqlDbType.Decimal).Value = oCE.GananciaPerdidaTotal .Add("@RendGanPerd", SqlDbType.Decimal).Value = oCE.RendimientoGananciaPerdida .Add("@RendInt", SqlDbType.Decimal).Value = oCE.RendimientoDeIntereses .Add("@RendAntISR", SqlDbType.Decimal).Value = oCE.RendimientoAntesImpuestos .Add("@RendDespISR", SqlDbType.Decimal).Value = oCE.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 Function CargarRegistro(ByVal CodigoInversion As String, ByVal CodigoInstrumento As String) As Collection Dim objCon As New Conexion Dim oCE As CertificadoDeInversionCE Dim drd As SqlDataReader Dim cmd As SqlCommand Dim sql As String Dim Tabla As String Dim coleccion As New Collection Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If If (CodigoInstrumento = "CINV") Then Tabla = "CIN0" ElseIf (CodigoInstrumento = "TIT") Then Tabla = "TIT" ElseIf (CodigoInstrumento = "EURB") Then Tabla = "EURB0" ElseIf (CodigoInstrumento = "BONO") Then Tabla = "BON0" Else coleccion.Add(False) Return coleccion End If sql = "SELECT * FROM " + Tabla + " WHERE CodInv=@CodInv" cmd = New SqlCommand cmd.CommandText = sql cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = CodigoInversion cmd.Connection = cn Try drd = cmd.ExecuteReader Catch ex As Exception coleccion.Add(False) Return coleccion End Try If drd.HasRows Then 'SE ENCONTRO EL REGISTRO If drd.Read Then coleccion.Add(drd.Item("PeriodicC").ToString) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("ValNomC").ToString)) coleccion.Add(Operaciones.ConvertirFecha(drd.Item("UltFCupC").ToString)) coleccion.Add(Operaciones.ConvertirFecha(drd.Item("SigFCupC").ToString)) coleccion.Add(Operaciones.ConvertirFecha(drd.Item("FLiqC").ToString)) coleccion.Add(Operaciones.ConvertirFecha(drd.Item("FVencC").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("PorcCupC").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("PrecVencC").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("PrecioCompra").ToString)) coleccion.Add(Operaciones.ConvertirEntero(drd.Item("DiasBaseC").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("CostTransC").ToString)) coleccion.Add(drd.Item("PeriodicV").ToString) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("ValNomV").ToString)) coleccion.Add(Operaciones.ConvertirFecha(drd.Item("UltFCupV").ToString)) coleccion.Add(Operaciones.ConvertirFecha(drd.Item("SigFCupV").ToString)) coleccion.Add(Operaciones.ConvertirFecha(drd.Item("FLiqV").ToString)) coleccion.Add(Operaciones.ConvertirFecha(drd.Item("FVencV").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("PorcCupV").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("PrecVencV").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("PrecioVenta").ToString)) coleccion.Add(Operaciones.ConvertirEntero(drd.Item("DiasBaseV").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("CupRecibidos").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("PorcCupC").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("PorcCupV").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("ComisionPorCompraCasa").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("ComisionPorCompraBolsa").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("ComisionPorVentaCasa").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("ComisionPorVentaBolsa").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("YTMCompra").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("YTMVenta").ToString)) 'Çampos Extras (Calculados) coleccion.Add(Operaciones.ConvertirEntero(drd.Item("DiasVenC").ToString)) coleccion.Add(Operaciones.ConvertirEntero(drd.Item("DiasVenV").ToString)) coleccion.Add(Operaciones.ConvertirEntero(drd.Item("DiasAcuC").ToString)) coleccion.Add(Operaciones.ConvertirEntero(drd.Item("DiasAcuV").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("YTMVenC").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("YTMVenV").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("IntPorAcuC").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("IntPorAcuV").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("IntAcuC").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("IntAcuV").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("PrecSucioC").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("PrecSucioV").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("ComisionCasaC").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("ComisionCasaV").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("ComisionBolsaC").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("ComisionBolsaV").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("ValTransC").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("ValTransV").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("MontoPagar").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("MontoRecibir").ToString)) coleccion.Add(Operaciones.ConvertirDecimal(drd.Item("CupRecibidos").ToString)) Else coleccion.Add(False) Return coleccion End If Else 'NO SE ENCONTRO EL REGISTRO coleccion.Add(False) Return coleccion End If drd.Close() cmd.Dispose() cn.Dispose() Return coleccion End Function Public Function ProcesoDatos(ByVal coleccion As Collection, ByVal Diccionario As Dictionary(Of Integer, Collection), ByVal CodigoInstrumento As String) As Integer Dim objCon As New Conexion Dim retorno As Integer Dim sql As String Dim cmd As SqlCommand Dim Tabla As String = String.Empty Dim TablaIngresos As String = String.Empty Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If Dim myTrans As SqlTransaction If (CodigoInstrumento = "CINV") Then Tabla = "CIN0" TablaIngresos = "CIN1" ElseIf (CodigoInstrumento = "TIT") Then Tabla = "TIT" ElseIf (CodigoInstrumento = "EURB") Then Tabla = "EURB0" TablaIngresos = "EURB1" ElseIf (CodigoInstrumento = "BONO") Then Tabla = "BON0" TablaIngresos = "BON1" Else Return 0 End If myTrans = cn.BeginTransaction() Try sql = "UPDATE " + Tabla + " SET [PeriodicC] = @PeriodicC ,[ValNomC] = @ValNomC ,[UltFCupC] = @UltFCupC ,[SigFCupC] = @SigFCupC ,[FLiqC] = @FLiqC ,[FVencC] = @FVencC ,[PorcCupC] = @PorcCupC ,[PrecVencC] = @PrecVencC ,[PrecioCompra] = @PrecioCompra ,[DiasBaseC] = @DiasBaseC ,[PeriodicV] = @PeriodicV ,[ValNomV] = @ValNomV ,[UltFCupV] = @UltFCupV ,[SigFCupV] = @SigFCupV ,[FLiqV] = @FLiqV ,[FVencV] = @FVencV ,[PorcCupV] = @PorcCupV ,[PrecVencV] = @PrecVencV ,[PrecioVenta] = @PrecioVenta ,[DiasBaseV] = @DiasBaseV ,[ComisionPorCompraCasa]=@ComisionPorCompraCasa ,[ComisionPorCompraBolsa]=@ComisionPorCompraBolsa ,[ComisionPorVentaCasa]=@ComisionPorVentaCasa ,[ComisionPorVentaBolsa]=@ComisionPorVentaBolsa ,[YTMCompra]=@YTMCompra ,[YTMVenta]=@YTMVenta ,[DiasVenC]=@DiasVenC ,[DiasVenV]=@DiasVenV ,[DiasAcuC]=@DiasAcuC ,[DiasAcuV]=@DiasAcuV ,[YTMVenC]=@YTMVenC ,[YTMVenV]=@YTMVenV ,[IntAcuC]=@IntAcuC ,[IntAcuV]=@IntAcuV ,[IntPorAcuC]=@IntPorAcuC ,[IntPorAcuV]=@IntPorAcuV ,[PrecSucioC]=@PrecSucioC ,[PrecSucioV]=@PrecSucioV ,[ComisionCasaC]=@ComisionCasaC ,[ComisionCasaV]=@ComisionCasaV ,[ComisionBolsaC]=@ComisionBolsaC ,[ComisionBolsaV]=@ComisionBolsaV ,[ValTransC]=@ValTransC ,[ValTransV]=@ValTransV ,[MontoPagar]=@MontoPagar ,[MontoRecibir]=@MontoRecibir ,[CostTransC]=@CostTransC ,[CupRecibidos]=@CupRecibidos WHERE [CodInv] = @CodInv " cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn cmd.Transaction = myTrans With cmd.Parameters .Add("@PeriodicC", SqlDbType.VarChar).Value = coleccion(1).ToString() .Add("@ValNomC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(2).ToString()) .Add("@UltFCupC", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(3).ToString) .Add("@SigFCupC", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(4).ToString) .Add("@FLiqC", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(5).ToString) .Add("@FVencC", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(6).ToString) .Add("@PorcCupC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(7).ToString()) .Add("@PrecVencC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(8).ToString()) .Add("@PrecioCompra", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(9).ToString()) .Add("@DiasBaseC", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(10).ToString()) .Add("@PeriodicV", SqlDbType.VarChar).Value = coleccion(12).ToString() .Add("@ValNomV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(13).ToString()) .Add("@UltFCupV", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(14).ToString) .Add("@SigFCupV", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(15).ToString) .Add("@FLiqV", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(16).ToString) .Add("@FVencV", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(17).ToString) .Add("@PorcCupV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(18).ToString()) .Add("@PrecVencV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(19).ToString()) .Add("@PrecioVenta", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(20).ToString()) .Add("@DiasBaseV", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(21).ToString()) .Add("@CodInv", SqlDbType.VarChar).Value = coleccion(23).ToString() .Add("@ComisionPorCompraCasa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(26).ToString()) .Add("@ComisionPorCompraBolsa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(27).ToString()) .Add("@ComisionPorVentaCasa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(28).ToString()) .Add("@ComisionPorVentaBolsa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(29).ToString()) .Add("@YTMCompra", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(30).ToString()) .Add("@YTMVenta", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(31).ToString()) .Add("DiasVenC", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(32).ToString) .Add("@DiasVenV", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(33).ToString) .Add("@DiasAcuC", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(34).ToString) .Add("@DiasAcuV", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(35).ToString) .Add("@YTMVenC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(36).ToString) .Add("@YTMVenV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(37).ToString) .Add("@IntAcuC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(38).ToString) .Add("@IntAcuV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(39).ToString) .Add("@IntPorAcuC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(40).ToString) .Add("@IntPorAcuV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(41).ToString) .Add("@PrecSucioC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(42).ToString) .Add("@PrecSucioV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(43).ToString) .Add("@ComisionCasaC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(44).ToString) .Add("@ComisionCasaV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(45).ToString) .Add("@ComisionBolsaC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(46).ToString) .Add("@ComisionBolsaV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(47).ToString) .Add("@ValTransC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(48).ToString) .Add("@ValTransV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(49).ToString) .Add("@MontoPagar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(50).ToString) .Add("@MontoRecibir", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(51).ToString) .Add("@CostTransC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(52).ToString) .Add("@CupRecibidos", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(53).ToString) End With retorno = cmd.ExecuteNonQuery If Not Diccionario Is Nothing And Not Diccionario.Count = 0 Then If Not String.IsNullOrEmpty(TablaIngresos) Then sql = "DELETE FROM " + TablaIngresos + " WHERE [CodInv]=@CodInv " cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn cmd.Transaction = myTrans cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo retorno = cmd.ExecuteNonQuery For Each DatosDiccionario In Diccionario Dim Coleccion2 As Collection = DatosDiccionario.Value sql = "INSERT INTO " + TablaIngresos + "( [CodInv] ,[NumCupon] ,[FechaCupon] ,[Dias] ,[Ingreso] ,[PorcImpuesto] ,[MontoImpuesto] ,[Liquido] ) VALUES( @CodInv ,@NumCupon ,@FechaCupon ,@Dias ,@Ingreso ,@PorcImpuesto ,@MontoImpuesto ,@Liquido ) " cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn cmd.Transaction = myTrans With cmd.Parameters .Add("@CodInv", SqlDbType.VarChar).Value = Codigo.ToString .Add("@NumCupon", SqlDbType.VarChar).Value = Coleccion2(1).ToString .Add("@FechaCupon", SqlDbType.Date).Value = Operaciones.ConvertirFecha(Coleccion2(2).ToString) .Add("@Dias", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion2(3).ToString) .Add("@Ingreso", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion2(4).ToString) .Add("@PorcImpuesto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion2(5).ToString) .Add("@MontoImpuesto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion2(6).ToString) .Add("@Liquido", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion2(7).ToString) End With retorno = cmd.ExecuteNonQuery Next End If End If myTrans.Commit() MsgBox("Datos Actualizados") Catch ex As Exception myTrans.Rollback() MsgBox(ex.Message) End Try 'cn.Close() cn.Close() Return retorno End Function Public Function Nuevo(ByVal coleccion As Collection, ByVal CodigoInstrumento As String) As Integer Dim objCon As New Conexion Dim retorno As Integer Dim sql As String Dim cmd As SqlCommand Dim Tabla As String = String.Empty Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If If (CodigoInstrumento = "CINV") Then Tabla = "CIN0" ElseIf (CodigoInstrumento = "TIT") Then Tabla = "TIT" ElseIf (CodigoInstrumento = "EURB") Then Tabla = "EURB0" ElseIf (CodigoInstrumento = "BONO") Then Tabla = "BON0" End If If (Not String.IsNullOrEmpty(Tabla.ToString)) Then sql = "INSERT INTO " + Tabla + " ([CodInv] ,[PeriodicC] ,[ValNomC] ,[UltFCupC] ,[SigFCupC] ,[FLiqC] ,[FVencC] ,[PorcCupC] ,[PrecVencC] ,[PrecioCompra] ,[DiasBaseC] ,[PeriodicV] ,[ValNomV] ,[UltFCupV] ,[SigFCupV] ,[FLiqV] ,[FVencV] ,[PorcCupV] ,[PrecVencV] ,[PrecioVenta] ,[DiasBaseV] ,[ComisionPorCompraCasa] ,[ComisionPorCompraBolsa] ,[ComisionPorVentaCasa] ,[ComisionPorVentaBolsa] ,[YTMCompra] ,[YTMVenta] ,[DiasVenC] ,[DiasVenV] ,[DiasAcuC] ,[DiasAcuV] ,[YTMVenC] ,[YTMVenV] ,[IntAcuC] ,[IntAcuV] ,[IntPorAcuC] ,[IntPorAcuV] ,[PrecSucioC] ,[PrecSucioV] ,[ComisionCasaC] ,[ComisionCasaV] ,[ComisionBolsaC] ,[ComisionBolsaV] ,[ValTransC] ,[ValTransV] ,[MontoPagar] ,[MontoRecibir] ,[CostTransC] ,[CupRecibidos] ) VALUES( @CodInv ,@PeriodicC ,@ValNomC ,@UltFCupC ,@SigFCupC ,@FLiqC ,@FVencC ,@PorcCupC ,@PrecVencC ,@PrecioCompra ,@DiasBaseC ,@PeriodicV ,@ValNomV ,@UltFCupV ,@SigFCupV ,@FLiqV ,@FVencV ,@PorcCupV ,@PrecVencV ,@PrecioVenta ,@DiasBaseV ,@ComisionPorCompraCasa ,@ComisionPorCompraBolsa ,@ComisionPorVentaCasa ,@ComisionPorVentaBolsa ,@YTMCompra ,@YTMVenta ,@DiasVenC ,@DiasVenV ,@DiasAcuC ,@DiasAcuV ,@YTMVenC ,@YTMVenV ,@IntAcuC ,@IntAcuV ,@IntPorAcuC ,@IntPorAcuV ,@PrecSucioC ,@PrecSucioV ,@ComisionCasaC ,@ComisionCasaV ,@ComisionBolsaC ,@ComisionBolsaV ,@ValTransC ,@ValTransV ,@MontoPagar ,@MontoRecibir ,@CostTransC ,@CupRecibidos ) " cmd = New SqlCommand cmd.CommandText = sql With cmd.Parameters If (coleccion(1) Is Nothing) Then .Add("@PeriodicC", SqlDbType.VarChar).Value = "M" Else .Add("@PeriodicC", SqlDbType.VarChar).Value = coleccion(1).ToString() End If .Add("@ValNomC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(2).ToString) .Add("@UltFCupC", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(3).ToString) .Add("@SigFCupC", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(4).ToString) .Add("@FLiqC", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(5).ToString) .Add("@FVencC", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(6).ToString) .Add("@PorcCupC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(7).ToString) .Add("@PrecVencC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(8).ToString) .Add("@PrecioCompra", SqlDbType.Float).Value = coleccion(9).ToString If (coleccion(10) Is Nothing) Then .Add("@DiasBaseC", SqlDbType.Int).Value = 365 Else .Add("@DiasBaseC", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(10).ToString) End If If (coleccion(12) Is Nothing) Then .Add("@PeriodicV", SqlDbType.VarChar).Value = "M" Else .Add("@PeriodicV", SqlDbType.VarChar).Value = coleccion(12).ToString() End If .Add("@ValNomV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(13).ToString) .Add("@UltFCupV", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(14).ToString) .Add("@SigFCupV", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(15).ToString) .Add("@FLiqV", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(16).ToString) .Add("@FVencV", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(17).ToString) .Add("@PorcCupV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(18).ToString) .Add("@PrecVencV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(19).ToString) .Add("@PrecioVenta", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(20).ToString) If (coleccion(21) Is Nothing) Then .Add("@DiasBaseV", SqlDbType.Int).Value = 365 Else .Add("@DiasBaseV", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(21).ToString) End If .Add("@CodInv", SqlDbType.VarChar).Value = coleccion(23).ToString() .Add("@ComisionPorCompraCasa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(26).ToString()) .Add("@ComisionPorCompraBolsa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(27).ToString()) .Add("@ComisionPorVentaCasa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(28).ToString()) .Add("@ComisionPorVentaBolsa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(29).ToString()) .Add("@YTMCompra", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(30).ToString()) .Add("@YTMVenta", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(31).ToString()) .Add("@DiasVenC", SqlDbType.Int).Value = coleccion(32).ToString .Add("@DiasVenV", SqlDbType.Int).Value = coleccion(33).ToString .Add("@DiasAcuC", SqlDbType.Int).Value = coleccion(34).ToString .Add("@DiasAcuV", SqlDbType.Int).Value = coleccion(35).ToString .Add("@YTMVenC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(36).ToString) .Add("@YTMVenV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(37).ToString) .Add("@IntAcuC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(38).ToString) .Add("@IntAcuV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(39).ToString) .Add("@IntPorAcuC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(40).ToString) .Add("@IntPorAcuV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(41).ToString) .Add("@PrecSucioC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(42).ToString) .Add("@PrecSucioV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(43).ToString) .Add("@ComisionCasaC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(44).ToString) .Add("@ComisionCasaV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(45).ToString) .Add("@ComisionBolsaC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(46).ToString) .Add("@ComisionBolsaV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(47).ToString) .Add("@ValTransC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(48).ToString) .Add("@ValTransV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(49).ToString) .Add("@MontoPagar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(50).ToString) .Add("@MontoRecibir", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(51).ToString) .Add("@CostTransC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(52).ToString) .Add("@CupRecibidos", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(53).ToString) End With cmd.Connection = cn retorno = cmd.ExecuteNonQuery MsgBox("Registro creado éxitosmente") Else MsgBox("No se pudo ingresar los datos") retorno = 0 End If cn.Close() Return retorno End Function Public Sub Eliminar(ByVal Eliminar As String, ByVal CodigoInstrumento As String) Dim objCon As New Conexion Dim res As Integer Dim Tabla As String = String.Empty Dim TablaIngresos As String = String.Empty Dim TablaTIT1 As String = String.Empty Dim TablaTIT2 As String = String.Empty If (CodigoInstrumento = "CINV") Then Tabla = "CIN0" TablaIngresos = "CIN1" ElseIf (CodigoInstrumento = "TIT") Then Tabla = "TIT" TablaIngresos = "TIT0_0" TablaTIT1 = "TIT0" TablaTIT2 = "TIT2" ElseIf (CodigoInstrumento = "BONO") Then Tabla = "BON0" TablaIngresos = "BON1" ElseIf (CodigoInstrumento = "EURB") Then Tabla = "EURB0" TablaIngresos = "EURB1" End If Dim retorno As Integer Dim sql As String Dim cmd As SqlCommand Dim myTrans As SqlTransaction Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If myTrans = cn.BeginTransaction() Try sql = "DELETE FROM " + Tabla + " WHERE [CodInv]=@CodInv" cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn cmd.Transaction = myTrans cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo retorno = cmd.ExecuteNonQuery sql = "DELETE FROM " + TablaIngresos + " WHERE [CodInv]=@CodInv" cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn cmd.Transaction = myTrans cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo retorno = cmd.ExecuteNonQuery If (CodigoInstrumento = "TIT") Then sql = "DELETE FROM " + TablaTIT1 + " WHERE [CodInv]=@CodInv" cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn cmd.Transaction = myTrans cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo retorno = cmd.ExecuteNonQuery sql = "DELETE FROM " + TablaTIT2 + " WHERE [CodInv]=@CodInv" cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn cmd.Transaction = myTrans cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo retorno = cmd.ExecuteNonQuery End If myTrans.Commit() MsgBox("Datos Eliminados") Catch ex As Exception myTrans.Rollback() MsgBox(ex.Message) End Try cn.Close() End Sub End Class