Imports System.Data.SqlClient

Public Class DAOGeneral
    Dim Operaciones As New Operaciones
    Dim da As SqlDataAdapter

    Public Function ListaBase() As DataTable
        Dim objCon As New Conexion
        Dim ds As New DataSet
        Dim dt As DataTable
        Dim cn As SqlConnection = objCon.Conectar
        If cn.State = ConnectionState.Closed Then
            cn.Open()
        End If
        da = New SqlDataAdapter("SP_ListaAnioBase", cn)
        da.Fill(ds, "AnioBase")
        dt = ds.Tables(0)
        da.Dispose()
        cn.Dispose()
        Return dt
    End Function




    Public Function ListaTiposImpuesto() As DataTable
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim ds As New DataSet
        Dim dt As DataTable
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If

        da = New SqlDataAdapter("SELECT [Codigo] ,[Nombre] 'Descripcion' FROM [dbo].[TIMP]", cn)
        da.Fill(ds)
        dt = ds.Tables(0)

        da.Dispose()
        cn.Dispose()
        Return dt


    End Function
    Public Function ListaTipoTasa() As DataTable
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim ds As New DataSet
        Dim dt As DataTable
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If

        da = New SqlDataAdapter("SP_ListaTipoTasa", cn)
        da.Fill(ds)
        dt = ds.Tables(0)

        da.Dispose()
        cn.Dispose()
        Return dt


    End Function
    Public Function ListaTipoRenta() As DataTable
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim ds As New DataSet
        Dim dt As DataTable
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If

        da = New SqlDataAdapter("SP_ListaTipoRenta", cn)
        da.Fill(ds)
        dt = ds.Tables(0)

        da.Dispose()
        cn.Dispose()
        Return dt



    End Function
    Public Function ListaEstadoInversion() As DataTable
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim ds As New DataSet
        Dim dt As DataTable
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If

        da = New SqlDataAdapter("SP_ListaEstadoInversion", cn)
        da.Fill(ds)
        dt = ds.Tables(0)

        da.Dispose()
        cn.Dispose()
        Return dt


    End Function

    Public Function ListaTiposMercado() As DataTable
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim ds As New DataSet
        Dim dt As DataTable
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If
        da = New SqlDataAdapter("SP_ListaTiposMercado", cn)
        da.Fill(ds, "ListaTiposMercado")
        dt = ds.Tables(0)

        da.Dispose()
        cn.Dispose()
        Return dt



    End Function
    Public Function ListaPaisesRelevanteInversion() As DataTable
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim ds As New DataSet
        Dim dt As DataTable
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If
        da = New SqlDataAdapter("SP_ListaPaisesInv", cn)
        da.Fill(ds, "ListaPaisesInv")
        dt = ds.Tables(0)

        da.Dispose()
        cn.Dispose()
        Return dt



    End Function
    Public Function ListaEmpresas() As DataTable
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim ds As New DataSet
        Dim dt As DataTable
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If
        da = New SqlDataAdapter("SP_ListaEmpresas", cn)
        da.Fill(ds)

        dt = ds.Tables(0)

        da.Dispose()
        cn.Dispose()
        Return dt




    End Function


    Public Function ListaEstadoAutorizacion() As DataTable
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim ds As New DataSet
        Dim dt As DataTable
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If
        da = New SqlDataAdapter("SP_ListaEstadoAut", cn)
        da.Fill(ds, "ListaEstadoAut")

        dt = ds.Tables("ListaEstadoAut")

        da.Dispose()
        cn.Dispose()
        Return dt



    End Function


    Public Function ListaEstadoProceso() As DataTable
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim ds As New DataSet
        Dim dt As DataTable
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If
        da = New SqlDataAdapter("SP_ListaEstadoProceso", cn)
        da.Fill(ds, "ListaEstadoProceso")

        dt = ds.Tables("ListaEstadoProceso")

        da.Dispose()
        cn.Dispose()
        Return dt



    End Function





    Public Function ListaTipoOperacion() As DataTable
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim ds As New DataSet
        Dim dt As DataTable
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If
        da = New SqlDataAdapter("SP_ListaTipoOperacion", cn)
        da.Fill(ds)
        dt = ds.Tables(0)

        da.Dispose()
        cn.Dispose()
        Return dt



    End Function


    Public Function ListaInstrumentos(ByVal TipoFuncion As String) As DataTable
        Dim objCon As New Conexion

        Dim ds As New DataSet
        Dim dt As DataTable
        Dim cn As SqlConnection = objCon.Conectar

        If cn.State = ConnectionState.Closed Then
            cn.Open()
        End If

        Dim sql = "SP_ListaInstrumentosFinancieros"


        Dim cmd As New SqlCommand(sql, cn)
        cmd.CommandType = CommandType.StoredProcedure

        cmd.Parameters.Add("@TipoFuncion", SqlDbType.VarChar).Value = TipoFuncion
        cmd.Parameters.Add("@Version", SqlDbType.Int).Value = 8
        da = New SqlDataAdapter(cmd)

        da.Fill(ds)
        dt = ds.Tables(0)

        da.Dispose()
        cn.Dispose()
        Return dt


    End Function

    'Public Function ListaInstrumentos(ByVal TipoFuncion As String) As DataTable
    '    Dim objCon As New Conexion

    '    Dim ds As New DataSet
    '    Dim dt As DataTable
    '    Dim cn As SqlConnection = objCon.Conectar

    '    If cn.State = ConnectionState.Closed Then
    '        cn.Open()
    '    End If

    '    Dim sql = "SP_ListaInstrumentosFinancieros"


    '    Dim cmd As New SqlCommand(sql, cn)




    '    da = New SqlDataAdapter(cmd)

    '    da.Fill(ds)
    '    dt = ds.Tables(0)

    '    da.Dispose()
    '    cn.Dispose()
    '    Return dt


    'End Function

    Public Function ListaEmisores() As DataTable
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim ds As New DataSet
        Dim dt As DataTable
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If
        da = New SqlDataAdapter("SP_ListaEmisores", cn)
        da.Fill(ds)
        dt = ds.Tables(0)


        da.Dispose()
        cn.Dispose()
        Return dt


    End Function

    Public Function ListaCalificacionesDeRiesgo() As DataTable
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim ds As New DataSet
        Dim dt As DataTable
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If
        da = New SqlDataAdapter("SP_ListaCalificacionesDeRiesgo", cn)
        da.Fill(ds)
        dt = ds.Tables(0)

        da.Dispose()
        cn.Dispose()
        Return dt


    End Function

    Public Function ListaEmpresasCalificadoras() As DataTable
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim ds As New DataSet
        Dim dt As DataTable
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If
        da = New SqlDataAdapter("SP_ListaEmpresasCalificadoras", cn)
        da.Fill(ds)
        dt = ds.Tables(0)

        da.Dispose()
        cn.Dispose()
        Return dt


    End Function

    Public Function ListaOrigenDeFondos() As DataTable
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim ds As New DataSet
        Dim dt As DataTable
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If
        da = New SqlDataAdapter("SP_ListaOrigenDeFondos", cn)
        da.Fill(ds)
        dt = ds.Tables(0)

        da.Dispose()
        cn.Dispose()
        Return dt


    End Function

    Public Function ListaPlazosFactor() As DataTable
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim ds As New DataSet
        Dim dt As DataTable
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If
        da = New SqlDataAdapter("SP_ListaPlazosFactor", cn)
        da.Fill(ds)
        dt = ds.Tables(0)

        da.Dispose()
        cn.Dispose()
        Return dt


    End Function
    Public Function ListaPeriodicidad() As DataTable
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim ds As New DataSet
        Dim dt As DataTable
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If
        da = New SqlDataAdapter("SP_ListaPeriodos", cn)
        da.Fill(ds, "ListaPeriodos")
        dt = ds.Tables(0)


        da.Dispose()
        cn.Dispose()
        Return dt


    End Function





    Public Function ListaCasasCorredoras() As DataSet
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim ds As New DataSet
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If
        da = New SqlDataAdapter("SP_ListaCasasCorredoras", cn)
        da.Fill(ds, "CasasCorredoras")

        da.Dispose()
        cn.Dispose()
        Return ds



    End Function







    Public Function ObtenerInstrumento(ByVal Codigo As String)
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        If (Not String.IsNullOrEmpty(Codigo)) Then


            Dim sql As String
            Dim cmd As SqlCommand
            Dim Instrumento As String

            sql = "SELECT * FROM [dbo].[INV0] WHERE CodInv=@Codigo"


            cmd = New SqlCommand
            If cn Is Nothing Then
                cn = objCon.Conectar
            End If
            If cn.State = ConnectionState.Open Then
                cn.Close()
                cn.Dispose()
                cn = objCon.Conectar
                cn.Open()
            Else
                cn = objCon.Conectar
                cn.Open()
            End If

            cmd.CommandText = sql
            cmd.Parameters.Add("@Codigo", SqlDbType.VarChar).Value = Codigo
            cmd.Connection = cn


            Dim Datos = cmd.ExecuteReader
            If Datos.HasRows Then
                'SE ENCONTRO EL REGISTRO


                If Datos.Read Then

                    Instrumento = Datos.Item("CodIF")



                    Return Instrumento
                End If
            End If
        End If


        If Codigo Is Nothing Then
            Codigo = String.Empty
        End If

        cn.Close()
        If Codigo.IndexOf("CINV") > -1 Then
            Return "CINV"
        ElseIf Codigo.IndexOf("BONO") > -1 Then
            Return "BONO"
        ElseIf Codigo.IndexOf("EURB") > -1 Then
            Return "EURB"
        ElseIf Codigo.IndexOf("TIT") > -1 Then
            Return "TIT"

        End If
    End Function

    Public Function ExisteTitulo(ByVal CodTitulo As String, ByVal Tabla As String) As Boolean
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim valor As Integer = 0
        Dim Existe As Boolean = False
        Dim cmd As SqlCommand
        If Not String.IsNullOrEmpty(CodTitulo) Then

            If cn Is Nothing Then
                cn = objCon.Conectar
            End If
            If cn.State = ConnectionState.Open Then
                cn.Close()
                cn.Dispose()
                cn = objCon.Conectar
                cn.Open()
            Else
                cn = objCon.Conectar
                cn.Open()
            End If
            If Not String.IsNullOrEmpty(Tabla) Then



                cmd = New SqlCommand("select count(*) from " + Tabla + " where CodInv='" + CodTitulo.ToString + "'", cn)
                valor = CInt(cmd.ExecuteScalar)
                cmd.Dispose()
                If valor > 0 Then
                    Existe = True
                End If

            End If

            cn.Dispose()
        End If
        Return Existe
    End Function

    Public Function ExisteCMVTA(ByVal CodigoCompra As String) As Boolean
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim valor As Integer = 0
        Dim Existe As Boolean = False
        Dim cmd As SqlCommand
        Dim myTrans As SqlTransaction
        If Not String.IsNullOrEmpty(CodigoCompra) Then

            If cn Is Nothing Then
                cn = objCon.Conectar
            End If
            If cn.State = ConnectionState.Open Then
                cn.Close()
                cn.Dispose()
                cn = objCon.Conectar
                cn.Open()
            Else
                cn = objCon.Conectar
                cn.Open()
            End If
            myTrans = cn.BeginTransaction()
            Try



                cmd = New SqlCommand("select count(*) from OPERCMVTA where CodigoInversionCompra=@CodigoInversionCompra", cn)

                With cmd.Parameters
                    .Add("@CodigoInversionCompra", SqlDbType.VarChar).Value = CodigoCompra
                End With
                cmd.Transaction = myTrans
                valor = CInt(cmd.ExecuteScalar)
                cmd.Dispose()
                If valor > 0 Then
                    Existe = True
                Else

                    cmd = New SqlCommand("select count(*) from OPERCMVTA where CodigoInversionVenta=@CodigoInversionVenta", cn)

                    With cmd.Parameters
                        .Add("@CodigoInversionVenta", SqlDbType.VarChar).Value = CodigoCompra
                    End With
                    cmd.Transaction = myTrans
                    valor = CInt(cmd.ExecuteScalar)
                    cmd.Dispose()
                    If valor > 0 Then
                        Existe = True
                    End If
                End If
            Catch ex As Exception

                myTrans.Rollback()

                MsgBox(ex.Message)

            End Try

        End If

        cn.Dispose()

        Return Existe
    End Function








    Public Function CantidadRegistros(ByVal Codigo As String, ByVal Tabla As String)
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim valor As Integer = 0
        Dim Existe As Boolean = False
        Dim cmd As SqlCommand
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If
        If (Not String.IsNullOrEmpty(Codigo)) Then
            cmd = New SqlCommand("select count(*) from " + Tabla + " where CodInv='" + Codigo + "'", cn)
            valor = CInt(cmd.ExecuteScalar)
            cmd.Dispose()


        End If

        cn.Dispose()


        Return valor
    End Function
    Public Function TipoDeInstrumento(ByVal pCodIF As String) As String
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim retorno As String
        Dim query As String
        Dim cmd As SqlCommand


        query = "SELECT T0.[Tipo] FROM [dbo].[INFI] T0 WHERE T0.CodIF=@CodIF"
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If

        cmd = New SqlCommand
        cmd.Connection = cn
        cmd.CommandText = query
        cmd.Parameters.Add("@CodIF", SqlDbType.VarChar).Value = "LETE"

        retorno = cmd.ExecuteScalar
        cn.Close()
        Return retorno
    End Function



    Public Function Periodicidad(ByVal Codigo As String, ByVal Tabla As String) As String
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim retorno As String = String.Empty
        Dim query As String = String.Empty
        Dim cmd As SqlCommand


        query = "SELECT T0.[Periodicidad] FROM " + Tabla + " T0 WHERE T0.CodInv=@CodInv"
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If

        cmd = New SqlCommand
        cmd.Connection = cn
        cmd.CommandText = query
        cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo

        Dim Datos = cmd.ExecuteScalar
        cn.Close()
        If Datos Is DBNull.Value Then
            Return Datos.ToString
        ElseIf Datos = Nothing Then

            Return String.Empty
        Else
            Return Datos
        End If





    End Function

    Public Function EstadoAutorizacionPro(ByVal Codigo As String) As String
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim retorno As String
        Dim query As String
        Dim cmd As SqlCommand


        query = "SELECT T0.[AutEstado] FROM PIN0 T0 WHERE T0.CodInv=@CodInv"
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If

        cmd = New SqlCommand
        cmd.Connection = cn
        cmd.CommandText = query
        cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo

        retorno = cmd.ExecuteScalar
        cn.Close()
        Return retorno
    End Function



    Public Function InstrumentosGrafica()
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim ds As New DataSet
        Dim dt As New DataTable
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If
        da = New SqlDataAdapter("SP_ConteoInstrumentos", cn)
        da.Fill(dt)
        cn.Close()
        Return dt


    End Function


    Public Function MontosInstrumentosGrafica()
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim ds As New DataSet
        Dim dt As New DataTable
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If
        da = New SqlDataAdapter("SP_CargarMonto", cn)
        da.Fill(dt)
        cn.Close()
        Return dt
    End Function

    Public Function RendimientosInstrumentoGrafica()
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim ds As New DataSet
        Dim dt As New DataTable
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If
        da = New SqlDataAdapter("SP_RendimientoGraficas", cn)
        da.Fill(dt)
        cn.Close()
        Return dt
    End Function


    Public Function RendimientoMontoGraficas()
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim ds As New DataSet
        Dim dt As New DataTable
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If
        da = New SqlDataAdapter("SP_RendimientoMontoGraficas", cn)
        da.Fill(dt)
        cn.Close()
        Return dt
    End Function




    Public Function EstadoInversion(ByVal Codigo As String) As String
        Dim objCon As New Conexion
        Dim cn As SqlConnection = objCon.Conectar
        Dim retorno As String = String.Empty
        Dim query As String
        Dim cmd As SqlCommand


        query = "SELECT EstadoProceso from INV0 where CodInv='" + Codigo + "'"
        If cn Is Nothing Then
            cn = objCon.Conectar
        End If
        If cn.State = ConnectionState.Open Then
            cn.Close()
            cn.Dispose()
            cn = objCon.Conectar
            cn.Open()
        Else
            cn = objCon.Conectar
            cn.Open()
        End If

        cmd = New SqlCommand
        cmd.Connection = cn
        cmd.CommandText = query
        cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
        Dim con = cmd.ExecuteScalar
        If Not con Is Nothing Then
            retorno = con.ToString
        End If

        cn.Close()
        Return retorno
    End Function

    Public Sub GenerarCMVTA(ByVal CodigoCompra As String, ByVal CodigoVenta As String,
    ByVal Tabla As String, ByVal coleccion As Collection, ByVal ObjPropuesta As CEPropuestaInversion)
        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()

        Try



            sql = "INSERT INTO [dbo].[PIN0]
           ([CodInv]
           ,[DocEst]
           ,[Asunto]
           ,[CodEmpr]
           ,[CodIF]
           ,[CodEmis]
           ,[CodCalRi]
           ,[CodECalRi]
           ,[OFon]
           ,[Coment]
           ,[Just]
           ,[TipoOper]
           ,[MontoInv]
           ,[Precio]
           ,[Rendimiento]
           ,[Plazo]
           ,[PlazoFact]
           ,[Ingresos]
           ,[FechaDoc]
           ,[AutEstado]
           ,[TipoMerc]
           ,[CodPais]
           ,[TipoRenta]
           ,[TipoTasa]
           ,[Periodicidad]
           ,[NombreManual]
           ,[EstadoReporto]

)
     VALUES
           (@CodInv
           ,@DocEst
           ,@Asunto
           ,@CodEmpr
           ,@CodIF
           ,@CodEmis
           ,@CodCalRi
           ,@CodECalRi
           ,@OFon
           ,@Coment
           ,@Just
           ,@TipoOper
           ,@MontoInv
           ,@Precio
           ,@Rendimiento
           ,@Plazo
           ,@PlazoFact
           ,@Ingresos
           ,@FechaDoc
           ,@AutEstado
           ,@TipoMerc
           ,@CodPais
           ,@TipoRenta
           ,@TipoTasa
           ,@Periodicidad
           ,@NombreManual
           ,@EstadoReporto
		   )"

            cmd = New SqlCommand
            cmd.CommandText = sql
            cmd.Connection = cn






            cmd.Transaction = myTrans

            With cmd.Parameters

                .Add("@CodInv", SqlDbType.VarChar).Value = ObjPropuesta.CodigoInversion.ToString
                .Add("@DocEst", SqlDbType.VarChar).Value = ObjPropuesta.EstadoDocumento.ToString
                .Add("@Asunto", SqlDbType.VarChar).Value = ObjPropuesta.Asunto.ToString
                .Add("@CodEmpr", SqlDbType.VarChar).Value = ObjPropuesta.CodigoEmpresa.ToString
                .Add("@CodIF", SqlDbType.VarChar).Value = ObjPropuesta.CodigoInstrumentoFinanciero.ToString
                .Add("@CodEmis", SqlDbType.Int).Value = ObjPropuesta.CodigoEmisor.ToString
                .Add("@CodCalRi", SqlDbType.VarChar).Value = ObjPropuesta.CodigoCalificacionDeRiesgo.ToString
                .Add("@CodECalRi", SqlDbType.VarChar).Value = ObjPropuesta.CodigoEmpresaCalificadora.ToString
                .Add("@OFon", SqlDbType.VarChar).Value = ObjPropuesta.OrigenDeFondos.ToString
                .Add("@Coment", SqlDbType.VarChar).Value = ObjPropuesta.Comentarios.ToString
                .Add("@Just", SqlDbType.VarChar).Value = ObjPropuesta.Justificacion.ToString
                .Add("@TipoOper", SqlDbType.VarChar).Value = ObjPropuesta.TipoOperacion.ToString
                .Add("@MontoInv", SqlDbType.Float).Value = ObjPropuesta.MontoInversion.ToString
                .Add("@Precio", SqlDbType.Float).Value = ObjPropuesta.Precio.ToString
                .Add("@Rendimiento", SqlDbType.Float).Value = ObjPropuesta.Rendimiento.ToString
                .Add("@Plazo", SqlDbType.Int).Value = ObjPropuesta.PlazoNumero.ToString
                .Add("@PlazoFact", SqlDbType.VarChar).Value = ObjPropuesta.PlazoFactor.ToString
                .Add("@Ingresos", SqlDbType.Float).Value = ObjPropuesta.Ingresos.ToString
                .Add("@FechaDoc", SqlDbType.Date).Value = ObjPropuesta.FechaDocumento.ToString
                .Add("@AutEstado", SqlDbType.VarChar).Value = ObjPropuesta.EstadoAutorizacion.ToString
                .Add("@TipoMerc", SqlDbType.VarChar).Value = ObjPropuesta.TipoMercado.ToString
                .Add("@CodPais", SqlDbType.VarChar).Value = ObjPropuesta.Pais.ToString

                .Add("@TipoRenta", SqlDbType.VarChar).Value = ObjPropuesta.TipoRenta.ToString
                .Add("@TipoTasa", SqlDbType.VarChar).Value = ObjPropuesta.TipoTasa.ToString
                .Add("@Periodicidad", SqlDbType.VarChar).Value = ObjPropuesta.Periodicidad.ToString
                .Add("@NombreManual", SqlDbType.VarChar).Value = ObjPropuesta.NombreManual.ToString
                .Add("@EstadoReporto", SqlDbType.VarChar).Value = "PRIMARIO"
            End With
            cmd.CommandText = sql

            retorno = cmd.ExecuteNonQuery

            ''Ingresar codigo


            '#####################################################################'


            cmd = New SqlCommand





            sql = "INSERT INTO [dbo].[Propuesta]
                   ([CodigoPropuesta]
                    ,[Nombre]
                    ,[Descrip]
                    ,[Estado]
        )
             VALUES
                   (@CodigoPropuesta
                    ,@Nombre
                    ,@Descrip
                    ,@Estado
        		   )"





            cmd.CommandText = sql
            cmd.Connection = cn
            cmd.Transaction = myTrans

            With cmd.Parameters
                .Add("@CodigoPropuesta", SqlDbType.VarChar).Value = ObjPropuesta.CodigoInversion.ToString
                .Add("@Nombre", SqlDbType.VarChar).Value = "ProCre"
                .Add("@Descrip", SqlDbType.VarChar).Value = "Propuesta de Inversion Inicial Creada"
                .Add("@Estado", SqlDbType.VarChar).Value = "En Propuesta"
            End With


            retorno = cmd.ExecuteNonQuery

            ''###############################################################
            ''###############################################################



            cmd = New SqlCommand
            sql = "INSERT INTO [dbo].[OPERCMVTA]
                   ([FechaOperacion]
                    ,[CodigoInversionCompra]
                    ,[CodigoInversionVenta]
                    ,[TipoFlujo]
        )
             VALUES
                   (@FechaOperacion
                    ,@CodigoInversionCompra
                    ,@CodigoInversionVenta
                    ,@TipoFlujo
        		   )"





            cmd.CommandText = sql
            cmd.Connection = cn
            cmd.Transaction = myTrans

            With cmd.Parameters
                .Add("@FechaOperacion", SqlDbType.Date).Value = Date.Now.Date
                .Add("@CodigoInversionCompra", SqlDbType.VarChar).Value = CodigoVenta
                .Add("@CodigoInversionVenta", SqlDbType.VarChar).Value = ObjPropuesta.CodigoInversion.ToString
                .Add("@TipoFlujo", SqlDbType.VarChar).Value = "C-V"
            End With


            retorno = cmd.ExecuteNonQuery
            If Tabla = "OPC0" Or Tabla = "FUT0" Then

                ''Crear Nuevo Venta
                sql = "INSERT INTO " + Tabla + "
([CodInv]
,[FOperC]
,[FLiqC]
,[FVenC]
,[VaUnidadC]
,[ValorTransadoC]
,[CoBrokerC]
,[VaRecC]
,[IdContratoC]
,[CantContratoC]
,[UniContraC]

,[FOperV]
,[FLiqV]
,[FVenV]
,[VaUnidadV]
,[ValorTransadoV]
,[CoBrokerV]
,[VaRecV]
,[IdContratoV]
,[CantContratoV]
,[UniContraV]
,[GP]
,[Rendimiento]
,[TipoOperacion]

) VALUES(
           @CodInv
,@FOperC
,@FLiqC
,@FVenC
,@VaUnidadC
,@ValorTransadoC
,@CoBrokerC
,@VaRecC
,@IdContratoC
,@CantContratoC
,@UniContraC

,@FOperV
,@FLiqV
,@FVenV
,@VaUnidadV
,@ValorTransadoV
,@CoBrokerV
,@VaRecV
,@IdContratoV
,@CantContratoV
,@UniContraV
,@GP
,@Rendimiento
,@TipoOperacion


)
    "

                cmd = New SqlCommand
                cmd.CommandText = sql





                With cmd.Parameters
                    .Add("@CodInv", SqlDbType.VarChar).Value = CodigoVenta
                    .Add("@FOperC", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(1).ToString)
                    .Add("@FLiqC", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(2).ToString)
                    .Add("@FVenC", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(3).ToString)
                    .Add("@VaUnidadC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(4).ToString)
                    .Add("@ValorTransadoC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(5).ToString)
                    .Add("@CoBrokerC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(6).ToString)
                    .Add("@VaRecC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(7).ToString)
                    .Add("@IdContratoC", SqlDbType.VarChar).Value = coleccion(8).ToString
                    .Add("@CantContratoC", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(9).ToString)
                    .Add("@UniContraC", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(10).ToString)


                    .Add("@FOperV", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(11).ToString)
                    .Add("@FLiqV", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(12).ToString)
                    .Add("@FVenV", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(13).ToString)
                    .Add("@VaUnidadV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(14).ToString)
                    .Add("@ValorTransadoV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(15).ToString)
                    .Add("@CoBrokerV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(16).ToString)
                    .Add("@VaRecV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(17).ToString)
                    .Add("@IdContratoV", SqlDbType.VarChar).Value = coleccion(18).ToString
                    .Add("@CantContratoV", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(19).ToString)
                    .Add("@UniContraV", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(20).ToString)

                    .Add("@GP", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(21).ToString)
                    .Add("@Rendimiento", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(22).ToString)
                    .Add("@TipoOperacion", SqlDbType.VarChar).Value = Operaciones.ConvertirDecimal(coleccion(23).ToString)



                End With


                cmd.Connection = cn
                cmd.Transaction = myTrans
                retorno = cmd.ExecuteNonQuery






                ''Crear Nuevo Compra
                sql = "UPDATE " + Tabla + " SET

[FOperC]=@FOperC
,[FLiqC]=@FLiqC
,[FVenC]=@FVenC
,[VaUnidadC]=@VaUnidadC
,[ValorTransadoC]=@ValorTransadoC
,[CoBrokerC]=@CoBrokerC
,[VaRecC]=@VaRecC
,[IdContratoC]=@IdContratoC
,[CantContratoC]=@CantContratoC
,[UniContraC]=@UniContraC
,[FOperV]=@FOperV
,[FLiqV]=@FLiqV
,[FVenV]=@FVenV
,[VaUnidadV]=@VaUnidadV
,[ValorTransadoV]=@ValorTransadoV
,[CoBrokerV]=@CoBrokerV
,[VaRecV]=@VaRecV
,[IdContratoV]=@IdContratoV
,[CantContratoV]=@CantContratoV
,[UniContraV]=@UniContraV
,[GP]=@GP
,[Rendimiento]=@Rendimiento
,[TipoOperacion]=@TipoOperacion

where [CodInv]=@CodInv
    "

                cmd = New SqlCommand
                cmd.CommandText = sql

                'Try



                With cmd.Parameters
                    .Add("@CodInv", SqlDbType.VarChar).Value = CodigoCompra
                    .Add("@FOperC", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(1).ToString)
                    .Add("@FLiqC", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(2).ToString)
                    .Add("@FVenC", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(3).ToString)
                    .Add("@VaUnidadC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(4).ToString)
                    .Add("@ValorTransadoC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(5).ToString)
                    .Add("@CoBrokerC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(6).ToString)
                    .Add("@VaRecC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(7).ToString)
                    .Add("@IdContratoC", SqlDbType.VarChar).Value = coleccion(8).ToString
                    .Add("@CantContratoC", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(9).ToString)
                    .Add("@UniContraC", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(10).ToString)


                    .Add("@FOperV", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(11).ToString)
                    .Add("@FLiqV", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(12).ToString)
                    .Add("@FVenV", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(13).ToString)
                    .Add("@VaUnidadV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(14).ToString)
                    .Add("@ValorTransadoV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(15).ToString)
                    .Add("@CoBrokerV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(16).ToString)
                    .Add("@VaRecV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(17).ToString)
                    .Add("@IdContratoV", SqlDbType.VarChar).Value = coleccion(18).ToString
                    .Add("@CantContratoV", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(19).ToString)
                    .Add("@UniContraV", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(20).ToString)

                    .Add("@GP", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(21).ToString)
                    .Add("@Rendimiento", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(22).ToString)
                    .Add("@TipoOperacion", SqlDbType.VarChar).Value = Operaciones.ConvertirDecimal(coleccion(23).ToString)



                End With


                cmd.Connection = cn
                cmd.Transaction = myTrans
                retorno = cmd.ExecuteNonQuery






                myTrans.Commit()

            ElseIf Tabla = "ACC0" Then
                ''Crear Nuevo Venta


                sql = "INSERT INTO " + Tabla + "
           ([CodInv]
           ,[PrecioLimpioC]
           ,[FOperC]
           ,[FVenC]
           ,[DiasTC]
           ,[GCapTotC]
           ,[GCapUnC]
           ,[RetAnBrC]
           ,[RetAnNetC]
           ,[UnC]
           ,[ValTransC]
           ,[MontoNetoC]
           ,[PrecSucioC]
           ,[PrecioLimpioV]
           ,[FOperV]
           ,[FVenV]
           ,[DiasTV]
           ,[GCapTotV]
           ,[GCapUnV]
           ,[RetAnBrV]
           ,[RetAnNetV]
           ,[UnV]
           ,[ValTransV]
           ,[MontoNetoV]
           ,[PrecSucioV]
           ,[ComisionCompraCasa]
           ,[ComisionCompraBolsa]
           ,[ComisionVentaCasa]
           ,[ComisionVentaBolsa]
           ,[IOF]
           ,[Renta]
           ,[Tipo]
           ,[ComisionCompraCasaValor]
           ,[ComisionCompraBolsaValor]
           ,[ComisionVentaCasaValor]
           ,[ComisionVentaBolsaValor]

)
     VALUES
           (@CodInv
           ,@PrecioLimpioC
           ,@FOperC
           ,@FVenC
           ,@DiasTC
           ,@GCapTotC
           ,@GCapUnC
           ,@RetAnBrC
           ,@RetAnNetC
           ,@UnC
           ,@ValTransC
           ,@MontoNetoC
           ,@PrecSucioC
           ,@PrecioLimpioV
           ,@FOperV
           ,@FVenV
           ,@DiasTV
           ,@GCapTotV
           ,@GCapUnV
           ,@RetAnBrV
           ,@RetAnNetV
           ,@UnV
           ,@ValTransV
           ,@MontoNetoV
           ,@PrecSucioV
           ,@ComisionCompraCasa
           ,@ComisionCompraBolsa
           ,@ComisionVentaCasa
           ,@ComisionVentaBolsa
           ,@IOF
           ,@Renta
           ,@Tipo
           ,@ComisionCompraCasaValor
           ,@ComisionCompraBolsaValor
           ,@ComisionVentaCasaValor
           ,@ComisionVentaBolsaValor
)"


                cmd = New SqlCommand
                cmd.CommandText = sql
                cmd.Connection = cn

                With cmd.Parameters
                    .Add("@CodInv", SqlDbType.VarChar).Value = CodigoVenta
                    .Add("@PrecioLimpioC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(1).ToString)
                    .Add("@FOperC", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(2).ToString)
                    .Add("@FVenC", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(3).ToString)
                    .Add("@DiasTC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(4).ToString)
                    .Add("@GCapTotC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(5).ToString)
                    .Add("@GCapUnC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(6).ToString)
                    .Add("@RetAnBrC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(7).ToString)
                    .Add("@RetAnNetC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(8).ToString)
                    .Add("@UnC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(9).ToString)
                    .Add("@ValTransC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(10).ToString)
                    .Add("@MontoNetoC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(11).ToString)
                    .Add("@PrecSucioC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(12).ToString)
                    .Add("@PrecioLimpioV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(13).ToString)
                    .Add("@FOperV", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(14).ToString)
                    .Add("@FVenV", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(15).ToString)
                    .Add("@DiasTV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(16).ToString)
                    .Add("@GCapTotV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(17).ToString)
                    .Add("@GCapUnV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(18).ToString)
                    .Add("@RetAnBrV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(19).ToString)
                    .Add("@RetAnNetV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(20).ToString)
                    .Add("@UnV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(21).ToString)
                    .Add("@ValTransV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(22).ToString)
                    .Add("@MontoNetoV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(23).ToString)
                    .Add("@PrecSucioV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(24).ToString)
                    .Add("@ComisionCompraCasa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(25).ToString)
                    .Add("@ComisionCompraBolsa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(26).ToString)
                    .Add("@ComisionVentaCasa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(27).ToString)
                    .Add("@ComisionVentaBolsa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(28).ToString)
                    .Add("@IOF", SqlDbType.Bit).Value = CByte(coleccion(29))
                    .Add("@Renta", SqlDbType.Bit).Value = CByte(coleccion(30))
                    .Add("@Tipo", SqlDbType.VarChar).Value = coleccion(31).ToString
                    .Add("@ComisionCompraCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(32).ToString)
                    .Add("@ComisionCompraBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(33).ToString)
                    .Add("@ComisionVentaCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(34).ToString)
                    .Add("@ComisionVentaBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(35).ToString)

                End With
                cmd.Transaction = myTrans
                retorno = cmd.ExecuteNonQuery



                ''Crear Nuevo Compra






                sql = "UPDATE " + Tabla + " SET
         
            [PrecioLimpioC]=@PrecioLimpioC
           ,[FOperC]=@FOperC
           ,[FVenC]=@FVenC
           ,[DiasTC]=@DiasTC
           ,[GCapTotC]=@GCapTotC
           ,[GCapUnC]=@GCapUnC
           ,[RetAnBrC]=@RetAnBrC
           ,[RetAnNetC]=@RetAnNetC
           ,[UnC]=@UnC
           ,[ValTransC]=@ValTransC
           ,[MontoNetoC]=@MontoNetoC
           ,[PrecSucioC]=@PrecSucioC
           ,[PrecioLimpioV]=@PrecioLimpioV
           ,[FOperV]=@FOperV
           ,[FVenV]=@FVenV
           ,[DiasTV]=@DiasTV
           ,[GCapTotV]=@GCapTotV
           ,[GCapUnV]=@GCapUnV
           ,[RetAnBrV]=@RetAnBrV
           ,[RetAnNetV]=@RetAnNetV
           ,[UnV]=@UnV
           ,[ValTransV]=@ValTransV
           ,[MontoNetoV]=@MontoNetoV
           ,[PrecSucioV]=@PrecSucioV
           ,[ComisionCompraCasa]=@ComisionCompraCasa
           ,[ComisionCompraBolsa]=@ComisionCompraBolsa
           ,[ComisionVentaCasa]=@ComisionVentaCasa
           ,[ComisionVentaBolsa]=@ComisionVentaBolsa
           ,[IOF]=@IOF
           ,[Renta]=@Renta
           ,[Tipo]=@Tipo
           ,[ComisionCompraCasaValor]=@ComisionCompraCasaValor
           ,[ComisionCompraBolsaValor]=@ComisionCompraBolsaValor
           ,[ComisionVentaCasaValor]=@ComisionVentaCasaValor
           ,[ComisionVentaBolsaValor]=@ComisionVentaBolsaValor
            where   [CodInv]=@CodInv
"


                cmd = New SqlCommand
                cmd.CommandText = sql
                cmd.Connection = cn

                With cmd.Parameters
                    .Add("@CodInv", SqlDbType.VarChar).Value = CodigoVenta
                    .Add("@PrecioLimpioC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(1).ToString)
                    .Add("@FOperC", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(2).ToString)
                    .Add("@FVenC", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(3).ToString)
                    .Add("@DiasTC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(4).ToString)
                    .Add("@GCapTotC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(5).ToString)
                    .Add("@GCapUnC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(6).ToString)
                    .Add("@RetAnBrC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(7).ToString)
                    .Add("@RetAnNetC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(8).ToString)
                    .Add("@UnC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(9).ToString)
                    .Add("@ValTransC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(10).ToString)
                    .Add("@MontoNetoC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(11).ToString)
                    .Add("@PrecSucioC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(12).ToString)
                    .Add("@PrecioLimpioV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(13).ToString)
                    .Add("@FOperV", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(14).ToString)
                    .Add("@FVenV", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(15).ToString)
                    .Add("@DiasTV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(16).ToString)
                    .Add("@GCapTotV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(17).ToString)
                    .Add("@GCapUnV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(18).ToString)
                    .Add("@RetAnBrV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(19).ToString)
                    .Add("@RetAnNetV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(20).ToString)
                    .Add("@UnV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(21).ToString)
                    .Add("@ValTransV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(22).ToString)
                    .Add("@MontoNetoV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(23).ToString)
                    .Add("@PrecSucioV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(24).ToString)
                    .Add("@ComisionCompraCasa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(25).ToString)
                    .Add("@ComisionCompraBolsa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(26).ToString)
                    .Add("@ComisionVentaCasa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(27).ToString)
                    .Add("@ComisionVentaBolsa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(28).ToString)
                    .Add("@IOF", SqlDbType.Bit).Value = CByte(coleccion(29))
                    .Add("@Renta", SqlDbType.Bit).Value = CByte(coleccion(30))
                    .Add("@Tipo", SqlDbType.VarChar).Value = coleccion(31).ToString
                    .Add("@ComisionCompraCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(32).ToString)
                    .Add("@ComisionCompraBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(33).ToString)
                    .Add("@ComisionVentaCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(34).ToString)
                    .Add("@ComisionVentaBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(35).ToString)
                End With
                cmd.Transaction = myTrans
                retorno = cmd.ExecuteNonQuery


                myTrans.Commit()


            ElseIf Tabla = "CIN0" Or Tabla = "BON0" Or Tabla = "EURB0" Or Tabla = "TIT" Then
                ''Crear Nueva Venta

                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
                'Try

                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 = Operaciones.ConvertirDecimal(coleccion(9).ToString)
                    .Add("@DiasBaseC", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(10).ToString)
                    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)
                    .Add("@DiasBaseV", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(21).ToString)
                    .Add("@CodInv", SqlDbType.VarChar).Value = CodigoVenta
                    .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

                cmd.Connection = cn
                cmd.Transaction = myTrans
                retorno = cmd.ExecuteNonQuery

                ''Crear Nueva Compra


                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


                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 = Operaciones.ConvertirDecimal(coleccion(9).ToString)
                    .Add("@DiasBaseC", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(10).ToString)
                    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)
                    .Add("@DiasBaseV", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(21).ToString)
                    .Add("@CodInv", SqlDbType.VarChar).Value = CodigoVenta
                    .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

                cmd.Connection = cn
                cmd.Transaction = myTrans
                retorno = cmd.ExecuteNonQuery




                myTrans.Commit()


            Else Tabla = "Error"
                MsgBox("No se guardo el instrumento")
            End If

        Catch ex As Exception
            myTrans.Rollback()
            MsgBox("No se guardo el instrumento")
        End Try
    End Sub
End Class
