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 ListaBancos() 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_ListaBancos", cn) da.Fill(ds) dt = ds.Tables(0) da.Dispose() cn.Dispose() Return dt End Function Public Function IdPropuesta(ByVal CodTitulo 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 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 cmd = New SqlCommand("select DocId from PIN0 WHERE CodInv='" + CodTitulo + "'", cn) valor = CInt(cmd.ExecuteScalar) cmd.Dispose() cn.Dispose() End If Return valor 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 = 1 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