Imports System.Data.SqlClient Public Class LETESDAO Dim Operaciones As New Operaciones Public Function ActualizarLETE(ByVal coleccion As Collection, ByVal Instrumento As String, Optional EmpaquetarTablaBaseDatos As Dictionary(Of Integer, Collection) = Nothing) Dim objCon As New Conexion Dim retorno As Integer Dim sql As String = String.Empty Dim cmd As SqlCommand Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If Dim myTrans As SqlTransaction myTrans = cn.BeginTransaction() If (Instrumento = "LETE") Then sql = "UPDATE [dbo].[LET0] SET [ValNom]=@ValNom ,[FOper]=@FOper ,[FLiq]=@FLiq ,[RendBruto]=@RendBruto ,[Plazo]=@Plazo ,[ComisionCasa]=@ComisionCasa ,[ComisionBolsa]=@ComisionBolsa ,[CasasCorredoras]=@CasasCorredoras ,[Periodic]=@Periodic ,[AnioBase]=@AnioBase ,[ValTrans] = @ValTrans ,[Precio] = @Precio ,[TotPagar]= @TotPagar ,[RendNeto] = @RendNeto ,[IngrBruto] =@IngrBruto ,[IngrNeto] =@IngrNeto ,[ComisionCasaValor] =@ComisionCasaValor ,[ComisionBolsaValor] =@ComisionBolsaValor ,[FUlt] =@FUlt ,[FRed] =@FRed ,[FVenc] =@FVenc where [CodInv]= @CodInv " ElseIf (Instrumento = "PBUR") Then sql = "UPDATE [dbo].[PBUR] SET [ValNom]=@ValNom ,[FOper]=@FOper ,[FLiq]=@FLiq ,[RendBruto]=@RendBruto ,[Plazo]=@Plazo ,[ComisionCasa]=@ComisionCasa ,[ComisionBolsa]=@ComisionBolsa ,[CasasCorredoras]=@CasasCorredoras ,[Periodic]=@Periodic ,[AnioBase]=@AnioBase ,[ValorPar]= @ValorPar ,[FechaUltima]=@FechaUltima ,[ValTrans] = @ValTrans ,[Precio] = @Precio ,[TotPagar]= @TotPagar ,[RendNeto] = @RendNeto ,[IngrBruto] =@IngrBruto ,[IngrNeto] =@IngrNeto ,[ComisionCasaValor] =@ComisionCasaValor ,[ComisionBolsaValor] =@ComisionBolsaValor ,[FUlt] =@FUlt ,[FRed] =@FRed ,[FVenc] =@FVenc ,[IntAcumulado]=@IntAcumulado where [CodInv]= @CodInv " ElseIf (Instrumento = "VCN") Then sql = "UPDATE [dbo].[VCN] SET [ValNom]=@ValNom ,[FOper]=@FOper ,[FLiq]=@FLiq ,[RendBruto]=@RendBruto ,[Plazo]=@Plazo ,[ComisionCasa]=@ComisionCasa ,[ComisionBolsa]=@ComisionBolsa ,[CasasCorredoras]=@CasasCorredoras ,[Periodic]=@Periodic ,[AnioBase]=@AnioBase ,[ValorPar]= @ValorPar ,[FechaUltima]=@FechaUltima ,[OtrosCostos]=@OtrosCostos ,[ValTrans] = @ValTrans ,[Precio] = @Precio ,[TotPagar]= @TotPagar ,[RendNeto] = @RendNeto ,[IngrBruto] =@IngrBruto ,[IngrNeto] =@IngrNeto ,[ComisionCasaValor] =@ComisionCasaValor ,[ComisionBolsaValor] =@ComisionBolsaValor ,[FUlt] =@FUlt ,[FRed] =@FRed ,[FVenc] =@FVenc ,[IntAcumulado]=@IntAcumulado where [CodInv]= @CodInv " ElseIf (Instrumento = "CETE") Then sql = "UPDATE [dbo].[CET0] SET [ValNom]=@ValNom ,[FOper]= @FOper ,[FLiq]=@FLiq ,[RendBruto]= @RendBruto ,[Plazo]=@Plazo ,[ComisionCasa]= @ComisionCasa ,[ComisionBolsa]= @ComisionBolsa ,[CasasCorredoras]= @CasasCorredoras ,[Periodic]= @Periodic ,[AnioBase]=@AnioBase ,[FechaUltima]=@FechaUltima ,[ValTrans] = @ValTrans ,[Precio] = @Precio ,[TotPagar]= @TotPagar ,[RendNeto] = @RendNeto ,[IngrBruto] =@IngrBruto ,[IngrNeto] =@IngrNeto ,[ComisionCasaValor] =@ComisionCasaValor ,[ComisionBolsaValor] =@ComisionBolsaValor ,[FUlt] =@FUlt ,[FRed] =@FRed ,[FVenc] =@FVenc ,[IntAcumulado]=@IntAcumulado where [CodInv]= @CodInv " End If cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn cmd.Transaction = myTrans With cmd.Parameters .Add("@ValNom", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(1).ToString) .Add("@FOper", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(2).ToString) .Add("@FLiq", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(3).ToString) .Add("@RendBruto", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(4).ToString) .Add("@Plazo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(5).ToString) .Add("@CodInv", SqlDbType.VarChar).Value = coleccion(6).ToString .Add("@ComisionCasa", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(7).ToString) .Add("@ComisionBolsa", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(8).ToString) .Add("@Periodic", SqlDbType.VarChar).Value = coleccion(9).ToString .Add("@AnioBase", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(10).ToString) .Add("@CasasCorredoras", SqlDbType.VarChar).Value = coleccion(11).ToString If Instrumento = "LETE" Then .Add("ValTrans", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(12).ToString) .Add("Precio", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(13).ToString) .Add("TotPagar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(14).ToString) .Add("RendNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(15).ToString) .Add("IngrBruto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(16).ToString) .Add("IngrNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(17).ToString) .Add("ComisionCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(18).ToString) .Add("ComisionBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(19).ToString) .Add("FUlt", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(20).ToString) .Add("FRed", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(21).ToString) .Add("FVenc", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(22).ToString) End If If (Instrumento = "VCN" Or Instrumento = "PBUR") Then .Add("@ValorPar", SqlDbType.Bit).Value = CByte(coleccion(12)) .Add("@FechaUltima", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(13).ToString) ElseIf Instrumento = "CETE" Then .Add("@FechaUltima", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(12).ToString) .Add("ValTrans", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(13).ToString) .Add("Precio", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(14).ToString) .Add("TotPagar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(15).ToString) .Add("RendNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(16).ToString) .Add("IngrBruto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(17).ToString) .Add("IngrNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(18).ToString) .Add("ComisionCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(19).ToString) .Add("ComisionBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(20).ToString) .Add("FUlt", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(21).ToString) .Add("FRed", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(22).ToString) .Add("FVenc", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(23).ToString) .Add("@IntAcumulado", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(24).ToString) End If If Instrumento = "VCN" Then .Add("@OtrosCostos", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(14).ToString) .Add("ValTrans", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(15).ToString) .Add("Precio", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(16).ToString) .Add("TotPagar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(17).ToString) .Add("RendNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(18).ToString) .Add("IngrBruto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(19).ToString) .Add("IngrNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(20).ToString) .Add("ComisionCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(21).ToString) .Add("ComisionBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(22).ToString) .Add("FUlt", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(23).ToString) .Add("FRed", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(24).ToString) .Add("FVenc", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(25).ToString) .Add("@IntAcumulado", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(26).ToString) End If If Instrumento = "PBUR" Then .Add("ValTrans", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(14).ToString) .Add("Precio", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(15).ToString) .Add("TotPagar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(16).ToString) .Add("RendNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(17).ToString) .Add("IngrBruto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(18).ToString) .Add("IngrNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(19).ToString) .Add("ComisionCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(20).ToString) .Add("ComisionBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(21).ToString) .Add("FUlt", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(22).ToString) .Add("FRed", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(23).ToString) .Add("FVenc", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(24).ToString) .Add("@IntAcumulado", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(25).ToString) End If End With retorno = cmd.ExecuteNonQuery If Instrumento = "VCN" Then sql = "delete from VCN2 where [CodInv]=@CodInv" cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn cmd.Transaction = myTrans With cmd.Parameters .Add("@CodInv", SqlDbType.VarChar).Value = Codigo.ToString End With retorno = cmd.ExecuteNonQuery For Each FilaRegistros In EmpaquetarTablaBaseDatos Dim FilaColeccion As Collection = FilaRegistros.Value sql = "INSERT INTO [dbo].[VCN2]( [CodInv] ,[Plazo] ,[Fecha] ,[Monto] ,[Cedeval] ,[PorcentajeRenta] ,[Renta] ,[CostoTransferencia] ,[CostoBanco] ,[TotalRecibir] ) VALUES( @CodInv ,@Plazo ,@Fecha ,@Monto ,@Cedeval ,@PorcentajeRenta ,@Renta ,@CostoTransferencia ,@CostoBanco ,@TotalRecibir ) " cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn cmd.Transaction = myTrans With cmd.Parameters .Add("@CodInv", SqlDbType.VarChar).Value = Codigo.ToString .Add("@Plazo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(FilaColeccion(2).ToString) .Add("@Fecha", SqlDbType.Date).Value = Operaciones.ConvertirFecha(FilaColeccion(3).ToString) .Add("@Monto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(4).ToString) .Add("@Cedeval", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(5).ToString) .Add("@PorcentajeRenta", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(6)) / 100 .Add("@Renta", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(7)) .Add("@CostoTransferencia", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(8)) .Add("@CostoBanco", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(9)) .Add("@TotalRecibir", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(10)) End With retorno = cmd.ExecuteNonQuery Next End If ''############################################################################################################# ''############################################################################################################# Try myTrans.Commit() MsgBox("Registro Modificado con éxito") Catch ex As Exception MsgBox("Error al crear el registro") myTrans.Rollback() MsgBox(ex.Message) End Try cn.Close() Return retorno End Function Public Function NuevoIngreso(ByVal coleccion As Collection, ByVal Instrumento As String, Optional EmpaquetarTablaBaseDatos As Dictionary(Of Integer, Collection) = Nothing ) Dim objCon As New Conexion 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() If (Instrumento = "LETE") Then sql = "INSERT INTO [dbo].[LET0]( [CodInv] ,[ValNom] ,[FOper] ,[FLiq] ,[RendBruto] ,[Plazo] ,[ComisionCasa] ,[ComisionBolsa] ,[CasasCorredoras] ,[Periodic] ,[AnioBase] ,[ValTrans] ,[Precio] ,[TotPagar] ,[RendNeto] ,[IngrBruto] ,[IngrNeto] ,[ComisionCasaValor] ,[ComisionBolsaValor] ,[FUlt] ,[FRed] ,[FVenc] ) VALUES( @CodInv ,@ValNom ,@FOper ,@FLiq ,@RendBruto ,@Plazo ,@ComisionCasa ,@ComisionBolsa ,@CasasCorredoras ,@Periodic ,@AnioBase ,@ValTrans ,@Precio ,@TotPagar ,@RendNeto ,@IngrBruto ,@IngrNeto ,@ComisionCasaValor ,@ComisionBolsaValor ,@FUlt ,@FRed ,@FVenc ) " ElseIf (Instrumento = "PBUR") Then sql = "INSERT INTO [dbo].[PBUR]( [CodInv] ,[ValNom] ,[FOper] ,[FLiq] ,[RendBruto] ,[Plazo] ,[ComisionCasa] ,[ComisionBolsa] ,[CasasCorredoras] ,[Periodic] ,[AnioBase] ,[ValorPar] ,[FechaUltima] ,[ValTrans] ,[Precio] ,[TotPagar] ,[RendNeto] ,[IngrBruto] ,[IngrNeto] ,[ComisionCasaValor] ,[ComisionBolsaValor] ,[FUlt] ,[FRed] ,[FVenc] ,[IntAcumulado] ) VALUES( @CodInv ,@ValNom ,@FOper ,@FLiq ,@RendBruto ,@Plazo ,@ComisionCasa ,@ComisionBolsa ,@CasasCorredoras ,@Periodic ,@AnioBase ,@ValorPar ,@FechaUltima ,@ValTrans ,@Precio ,@TotPagar ,@RendNeto ,@IngrBruto ,@IngrNeto ,@ComisionCasaValor ,@ComisionBolsaValor ,@FUlt ,@FRed ,@FVenc ,@IntAcumulado ) " ElseIf (Instrumento = "VCN") Then sql = "INSERT INTO [dbo].[VCN]( [CodInv] ,[ValNom] ,[FOper] ,[FLiq] ,[RendBruto] ,[Plazo] ,[ComisionCasa] ,[ComisionBolsa] ,[CasasCorredoras] ,[Periodic] ,[AnioBase] ,[ValorPar] ,[FechaUltima] ,[OtrosCostos] ,[ValTrans] ,[Precio] ,[TotPagar] ,[RendNeto] ,[IngrBruto] ,[IngrNeto] ,[ComisionCasaValor] ,[ComisionBolsaValor] ,[FUlt] ,[FRed] ,[FVenc] ,[IntAcumulado] ) VALUES( @CodInv ,@ValNom ,@FOper ,@FLiq ,@RendBruto ,@Plazo ,@ComisionCasa ,@ComisionBolsa ,@CasasCorredoras ,@Periodic ,@AnioBase ,@ValorPar ,@FechaUltima ,@OtrosCostos ,@ValTrans ,@Precio ,@TotPagar ,@RendNeto ,@IngrBruto ,@IngrNeto ,@ComisionCasaValor ,@ComisionBolsaValor ,@FUlt ,@FRed ,@FVenc ,@IntAcumulado ) " ElseIf (Instrumento = "CETE") Then sql = "INSERT INTO [dbo].[CET0]( [CodInv] ,[ValNom] ,[FOper] ,[FLiq] ,[RendBruto] ,[Plazo] ,[ComisionCasa] ,[ComisionBolsa] ,[CasasCorredoras] ,[Periodic] ,[AnioBase] ,[FechaUltima] ,[ValTrans] ,[Precio] ,[TotPagar] ,[RendNeto] ,[IngrBruto] ,[IngrNeto] ,[ComisionCasaValor] ,[ComisionBolsaValor] ,[FUlt] ,[FRed] ,[FVenc] ,[IntAcumulado] ) VALUES( @CodInv ,@ValNom ,@FOper ,@FLiq ,@RendBruto ,@Plazo ,@ComisionCasa ,@ComisionBolsa ,@CasasCorredoras ,@Periodic ,@AnioBase ,@FechaUltima ,@ValTrans ,@Precio ,@TotPagar ,@RendNeto ,@IngrBruto ,@IngrNeto ,@ComisionCasaValor ,@ComisionBolsaValor ,@FUlt ,@FRed ,@FVenc ,@IntAcumulado ) " End If Try cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn cmd.Transaction = myTrans With cmd.Parameters .Add("@ValNom", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(1).ToString) .Add("@FOper", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(2).ToString) .Add("@FLiq", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(3).ToString) .Add("@RendBruto", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(4).ToString) .Add("@Plazo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(5).ToString) .Add("@CodInv", SqlDbType.VarChar).Value = coleccion(6).ToString .Add("@ComisionCasa", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(7).ToString) .Add("@ComisionBolsa", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(8).ToString) .Add("@Periodic", SqlDbType.VarChar).Value = coleccion(9).ToString .Add("@AnioBase", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(10).ToString) .Add("@CasasCorredoras", SqlDbType.VarChar).Value = coleccion(11).ToString If Instrumento = "LETE" Then .Add("ValTrans", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(12).ToString) .Add("Precio", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(13).ToString) .Add("TotPagar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(14).ToString) .Add("RendNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(15).ToString) .Add("IngrBruto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(16).ToString) .Add("IngrNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(17).ToString) .Add("ComisionCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(18).ToString) .Add("ComisionBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(19).ToString) .Add("FUlt", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(20).ToString) .Add("FRed", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(21).ToString) .Add("FVenc", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(22).ToString) End If If (Instrumento = "VCN" Or Instrumento = "PBUR") Then .Add("@ValorPar", SqlDbType.Bit).Value = CByte(coleccion(12)) .Add("@FechaUltima", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(13).ToString) ElseIf Instrumento = "CETE" Then .Add("@FechaUltima", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(12).ToString) .Add("ValTrans", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(13).ToString) .Add("Precio", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(14).ToString) .Add("TotPagar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(15).ToString) .Add("RendNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(16).ToString) .Add("IngrBruto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(17).ToString) .Add("IngrNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(18).ToString) .Add("ComisionCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(19).ToString) .Add("ComisionBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(20).ToString) .Add("FUlt", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(21).ToString) .Add("FRed", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(22).ToString) .Add("FVenc", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(23).ToString) .Add("@IntAcumulado", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(24).ToString) End If If Instrumento = "VCN" Then .Add("@OtrosCostos", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(14).ToString) .Add("ValTrans", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(15).ToString) .Add("Precio", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(16).ToString) .Add("TotPagar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(17).ToString) .Add("RendNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(18).ToString) .Add("IngrBruto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(19).ToString) .Add("IngrNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(20).ToString) .Add("ComisionCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(21).ToString) .Add("ComisionBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(22).ToString) .Add("FUlt", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(23).ToString) .Add("FRed", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(24).ToString) .Add("FVenc", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(25).ToString) .Add("@IntAcumulado", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(26).ToString) End If If Instrumento = "PBUR" Then .Add("ValTrans", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(14).ToString) .Add("Precio", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(15).ToString) .Add("TotPagar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(16).ToString) .Add("RendNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(17).ToString) .Add("IngrBruto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(18).ToString) .Add("IngrNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(19).ToString) .Add("ComisionCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(20).ToString) .Add("ComisionBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(21).ToString) .Add("FUlt", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(22).ToString) .Add("FRed", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(23).ToString) .Add("FVenc", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(24).ToString) .Add("@IntAcumulado", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(25).ToString) End If End With retorno = cmd.ExecuteNonQuery ''############################################################################################################# ''############################################################################################################# If Instrumento = "VCN" Then sql = "delete from VCN2 where [CodInv]=@CodInv" cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn cmd.Transaction = myTrans With cmd.Parameters .Add("@CodInv", SqlDbType.VarChar).Value = Codigo.ToString End With retorno = cmd.ExecuteNonQuery For Each FilaRegistros In EmpaquetarTablaBaseDatos Dim FilaColeccion As Collection = FilaRegistros.Value sql = "INSERT INTO [dbo].[VCN2]( [CodInv] ,[Plazo] ,[Fecha] ,[Monto] ,[Cedeval] ,[PorcentajeRenta] ,[Renta] ,[CostoTransferencia] ,[CostoBanco] ,[TotalRecibir] ) VALUES( @CodInv ,@Plazo ,@Fecha ,@Monto ,@Cedeval ,@PorcentajeRenta ,@Renta ,@CostoTransferencia ,@CostoBanco ,@TotalRecibir ) " cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn cmd.Transaction = myTrans With cmd.Parameters .Add("@CodInv", SqlDbType.VarChar).Value = Codigo.ToString .Add("@Plazo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(FilaColeccion(2).ToString) .Add("@Fecha", SqlDbType.Date).Value = Operaciones.ConvertirFecha(FilaColeccion(3).ToString) .Add("@Monto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(4).ToString) .Add("@Cedeval", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(5).ToString) .Add("@PorcentajeRenta", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(6)) / 100 .Add("@Renta", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(7)) .Add("@CostoTransferencia", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(8)) .Add("@CostoBanco", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(9)) .Add("@TotalRecibir", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(10)) End With retorno = cmd.ExecuteNonQuery Next End If ''############################################################################################################# ''############################################################################################################# myTrans.Commit() MsgBox("Datos Ingresados") MsgBox("Registro creado con éxito") Catch ex As Exception MsgBox("Error al crear el registro") myTrans.Rollback() MsgBox(ex.Message) End Try cn.Close() Return retorno End Function Public Sub Eliminar(ByVal Eliminar As String, ByVal Instrumento 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 If (Instrumento = "LETE") Then sql = "DELETE FROM [dbo].[LET0] WHERE [CodInv]=@CodInv" ElseIf (Instrumento = "PBUR") Then sql = "DELETE FROM [dbo].[PBUR] WHERE [CodInv]=@CodInv" ElseIf (Instrumento = "VCN") Then sql = "DELETE FROM [dbo].[VCN] WHERE [CodInv]=@CodInv" ElseIf (Instrumento = "CETE") Then sql = "DELETE FROM [dbo].[CET0] WHERE [CodInv]=@CodInv" End If cn = objCon.Conectar Try cmd = New SqlCommand cmd.CommandText = sql cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Eliminar cmd.Connection = cn res = cmd.ExecuteNonQuery MsgBox("Registro eliminado con éxito") Catch ex As Exception MsgBox("Error al eliminar el registro") End Try cn.Close() End Sub Public Function Cargar(ByVal CodInversion As String, ByVal Instrumento As String) Dim objCon As New Conexion Dim sql As String Dim cmd As SqlCommand Dim Coleccion As New Collection Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If If (Instrumento = "LETE") Then sql = "SELECT * FROM [dbo].[LET0] WHERE CodInv=@CodInversion" ElseIf (Instrumento = "PBUR") Then sql = "SELECT * FROM [dbo].[PBUR] WHERE CodInv=@CodInversion" ElseIf (Instrumento = "VCN") Then sql = "SELECT * FROM [dbo].[VCN] WHERE CodInv=@CodInversion" ElseIf (Instrumento = "CETE") Then sql = "SELECT * FROM [dbo].[CET0] WHERE CodInv=@CodInversion" End If cmd = New SqlCommand cmd.CommandText = sql cmd.Parameters.Add("@CodInversion", SqlDbType.VarChar).Value = CodInversion cmd.Connection = cn Dim Datos = cmd.ExecuteReader If Datos.HasRows Then 'SE ENCONTRO EL REGISTRO If Datos.Read Then Coleccion.Add(Datos.Item("ValNom")) Coleccion.Add(Datos.Item("FOper")) Coleccion.Add(Datos.Item("FLiq")) Coleccion.Add(Datos.Item("Plazo")) Coleccion.Add(Datos.Item("RendBruto")) Coleccion.Add(Datos.Item("CodCasa")) Coleccion.Add(Datos.Item("Periodic")) Coleccion.Add(Datos.Item("AnioBase")) Coleccion.Add(Datos.Item("ComisionCasa")) Coleccion.Add(Datos.Item("ComisionBolsa")) Coleccion.Add(Datos.Item("CodInv")) Coleccion.Add(Datos.Item("CasasCorredoras")) If (Instrumento = "PBUR" Or Instrumento = "VCN") Then Coleccion.Add(Datos.Item("ValorPar")) Coleccion.Add(Datos.Item("FechaUltima")) ElseIf Instrumento = "CETE" Then Coleccion.Add(Datos.Item("FechaUltima")) End If If Instrumento = "VCN" Then Coleccion.Add(Datos.Item("OtrosCostos")) End If cn.Close() Return Coleccion End If End If Coleccion.Add(False) cn.Close() Return Coleccion End Function Public Function CargarFilas(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 VCN2 where CodInv='" + codigo + "'" Dim cmd As New SqlCommand(sql, cn) Dim dr As SqlDataReader Dim Tabla As New DataTable dr = cmd.ExecuteReader Tabla.Load(dr) cn.Close() Return Tabla End Function End Class