Imports System.Data.SqlClient Public Class AccionesDAO Private Operaciones As New Operaciones Public Function ProcesoDatos(ByVal Coleccion As Collection, ByVal Codigo As String, ByVal Diccionario As Dictionary(Of String, Collection), ByVal Estado As String) 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 If Estado = "Nuevo" Then sql = "INSERT INTO [dbo].[ACC0] ([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 )" Else sql = "UPDATE [dbo].[ACC0] 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 " End If cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn cmd.Transaction = myTrans With cmd.Parameters .Add("@CodInv", SqlDbType.VarChar).Value = Codigo.ToString .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 retorno = cmd.ExecuteNonQuery sql = "DELETE FROM [dbo].[ACC1] WHERE [CodInv]=@CodInv " cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn cmd.Transaction = myTrans cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo retorno = cmd.ExecuteNonQuery If Not Diccionario Is Nothing Then For Each DatosDiccionario In Diccionario Dim Coleccion2 As Collection = DatosDiccionario.Value sql = "INSERT INTO [dbo].[ACC1] ([CodInv] ,[Fecha] ,[Dividendo] ,[CantidadBase] ,[IngresoBruto] ,[PorcISR] ,[ISR] ,[IngresoNeto] ,[Estado] ,[FechaInicio] ,[FechaCorte] ,[NumDiv] ) VALUES (@CodInv ,@Fecha ,@Dividendo ,@CantidadBase ,@IngresoBruto ,@PorcISR ,@ISR ,@IngresoNeto ,@Estado ,@FechaInicio ,@FechaCorte ,@NumDiv )" cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn cmd.Transaction = myTrans With cmd.Parameters .Add("@CodInv", SqlDbType.VarChar).Value = Codigo.ToString .Add("@Fecha", SqlDbType.Date).Value = Operaciones.ConvertirFecha(Coleccion2(1).ToString) .Add("@Dividendo", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion2(2).ToString) .Add("@CantidadBase", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion2(3).ToString) .Add("@IngresoBruto", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion2(4).ToString) .Add("@PorcISR", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion2(5).ToString) .Add("@ISR", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion2(6).ToString) .Add("@IngresoNeto", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion2(7).ToString) .Add("@Estado", SqlDbType.VarChar).Value = Coleccion2(8).ToString .Add("@NumDiv", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion2(9).ToString) .Add("@FechaInicio", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(Coleccion2(10).ToString) .Add("@FechaCorte", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(Coleccion2(11).ToString) End With retorno = cmd.ExecuteNonQuery Next End If '''''''''''''''' myTrans.Commit() MsgBox("Datos Ingresados") Catch ex As Exception myTrans.Rollback() MsgBox(ex.Message) End Try cn.Close() Return retorno End Function Public Sub Eliminar(ByVal Codigo As String) 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 = "DELETE FROM [dbo].[ACC1] WHERE [CodInv]=@CodInv" cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn cmd.Transaction = myTrans cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo retorno = cmd.ExecuteNonQuery sql = "DELETE FROM [dbo].[ACC0] WHERE [CodInv]=@CodInv" cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn cmd.Transaction = myTrans cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo retorno = cmd.ExecuteNonQuery myTrans.Commit() MsgBox("Datos Eliminados") Catch ex As Exception myTrans.Rollback() MsgBox(ex.Message) End Try cn.Close() End Sub Public Sub EliminarElemenoInd(ByVal Codigo As String, ByVal NumDiv As Integer) Dim objCon As New Conexion Dim sql As String Dim cmd As SqlCommand Dim res As Integer Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If sql = "DELETE FROM [dbo].[ACC1] WHERE [CodInv]=@CodInv and [NumDiv]=@NumDiv" cmd = New SqlCommand cmd.CommandText = sql cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo cmd.Parameters.Add("@NumDiv", SqlDbType.Int).Value = Operaciones.ConvertirEntero(NumDiv.ToString) cmd.Connection = cn res = cmd.ExecuteNonQuery cn.Close() End Sub Public Function NuevoElementoAccion(ByVal codigo As String, ByVal coleccion As Collection) Dim objCon As New Conexion Dim retorno As Integer Dim sql As String Dim cmd As SqlCommand Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If If (coleccion Is Nothing) Then Exit Function End If sql = "INSERT INTO [dbo].[ACC1] ([CodInv] ,[Fecha] ,[Dividendo] ,[CantidadBase] ,[IngresoBruto] ,[PorcISR] ,[ISR] ,[IngresoNeto] ,[Estado] ,[FechaInicio] ,[FechaCorte] ,[NumDiv] ) VALUES (@CodInv ,@Fecha ,@Dividendo ,@CantidadBase ,@IngresoBruto ,@PorcISR ,@ISR ,@IngresoNeto ,@Estado ,@FechaInicio ,@FechaCorte ,@NumDiv )" cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn Try With cmd.Parameters .Add("@CodInv", SqlDbType.VarChar).Value = codigo.ToString .Add("@Fecha", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(1).ToString) .Add("@Dividendo", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(2).ToString) .Add("@CantidadBase", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(3).ToString) .Add("@IngresoBruto", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(4).ToString) .Add("@PorcISR", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(5).ToString) .Add("@ISR", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(6).ToString) .Add("@IngresoNeto", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(7).ToString) .Add("@Estado", SqlDbType.VarChar).Value = coleccion(8).ToString .Add("@NumDiv", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(9).ToString) .Add("@FechaInicio", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(10)) .Add("@FechaCorte", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(11)) End With retorno = cmd.ExecuteNonQuery Catch ex As Exception Return Nothing End Try cn.Close() Return retorno End Function Public Function ModificarElementoAccion(ByVal codigo As String, ByVal coleccion As Collection) Dim objCon As New Conexion Dim retorno As Integer Dim sql As String Dim cmd As SqlCommand Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If If (coleccion Is Nothing) Then Exit Function End If sql = "UPDATE [dbo].[ACC1] SET [Fecha]=@Fecha ,[Dividendo]=@Dividendo ,[CantidadBase]=@CantidadBase ,[IngresoBruto]=@IngresoBruto ,[PorcISR]=@PorcISR ,[ISR]=@ISR ,[IngresoNeto]=@IngresoNeto ,[Estado]=@Estado ,[FechaInicio]=@FechaInicio ,[FechaCorte]=@FechaCorte where [CodInv]=@CodInv and [NumDiv]=@NumDiv " cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn Try With cmd.Parameters .Add("@CodInv", SqlDbType.VarChar).Value = codigo.ToString .Add("@Fecha", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(1).ToString) .Add("@Dividendo", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(2).ToString) .Add("@CantidadBase", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(3).ToString) .Add("@IngresoBruto", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(4).ToString) .Add("@PorcISR", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(5).ToString) .Add("@ISR", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(6).ToString) .Add("@IngresoNeto", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(7).ToString) .Add("@Estado", SqlDbType.VarChar).Value = coleccion(8).ToString .Add("@NumDiv", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(9).ToString) .Add("@FechaInicio", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(10)) .Add("@FechaCorte", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(11)) End With retorno = cmd.ExecuteNonQuery Catch ex As Exception Return Nothing End Try cn.Close() Return retorno End Function Public Function NuevaAccion(ByVal codigo As String, ByVal coleccion As Collection) Dim objCon As New Conexion Dim retorno As Integer Dim sql As String Dim cmd As SqlCommand Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If sql = "INSERT INTO [dbo].[ACC0] ([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 Try With cmd.Parameters .Add("@CodInv", SqlDbType.VarChar).Value = codigo.ToString .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 retorno = cmd.ExecuteNonQuery Catch ex As Exception MsgBox("Error al ingresar datos") End Try cn.Close() Return retorno End Function Public Function ModificarAccion(ByVal codigo As String, ByVal coleccion As Collection) Dim objCon As New Conexion Dim retorno As Integer Dim sql As String Dim cmd As SqlCommand Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If sql = "UPDATE [dbo].[ACC0] 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 Try With cmd.Parameters .Add("@CodInv", SqlDbType.VarChar).Value = codigo.ToString .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 retorno = cmd.ExecuteNonQuery Catch ex As Exception MsgBox("Error al modificar datos") End Try cn.Close() Return retorno End Function Public Sub EliminarAccion(ByVal Codigo As String) Dim objCon As New Conexion Dim sql As String Dim cmd As SqlCommand Dim res As Integer Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If sql = "DELETE FROM [dbo].[ACC0] WHERE [CodInv]=@CodInv;DELETE FROM [dbo].[ACC1] WHERE [CodInv]=@CodInv;DELETE FROM [dbo].[ACC2] WHERE [CodInv]=@CodInv;" Try cmd = New SqlCommand cmd.CommandText = sql cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo cmd.Connection = cn res = cmd.ExecuteNonQuery Catch ex As Exception MsgBox("Error al eliminar") End Try cn.Close() End Sub Public Function Nuevo(ByVal oAccion As Object) As Integer Dim objCon As New Conexion Dim retorno As Integer Dim sql As String Dim cmd As SqlCommand Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If sql = "INSERT INTO [dbo].[ACC0] ([CodInv] ,[OpPrefC] ,[OpBolsaC] ,[PrecioLimpioC] ,[FOperC] ,[FLiqC] ,[DiasTC] ,[GCapTotC] ,[GCapUnC] ,[RetAnBrC] ,[RetAnNetC] ,[UnC] ,[ValTransC] ,[MontoNetoC] ,[PrecSucioC] ,[FactDiv] ,[PrecioLimpioV] ,[FOperV] ,[FLiqV] ,[DiasTV] ,[GCapTotV] ,[GCapUnV] ,[RetAnBrV] ,[RetAnNetV] ,[UnV] ,[ValTransV] ,[MontoNetoV] ,[PrecSucioV] ,[IngresoBruto] ,[IngresoBrutoPend] ,[ImpSumC] ,[ComSumC] ,[ImpSumV] ,[ComSumV] ,[ISR] ,[ISRPend] ,[IngresoNeto] ,[IngresoNetoPend] ,[SumImpComCompra] ,[SumImpComVenta]) VALUES (@CodInv ,@OpPrefC ,@OpBolsaC ,@PrecioLimpioC ,@FOperC ,@FLiqC ,@DiasTC ,@GCapTotC ,@GCapUnC ,@RetAnBrC ,@RetAnNetC ,@UnC ,@ValTransC ,@MontoNetoC ,@PrecSucioC ,@FactDiv ,@PrecioLimpioV ,@FOperV ,@FLiqV ,@DiasTV ,@GCapTotV ,@GCapUnV ,@RetAnBrV ,@RetAnNetV ,@UnV ,@ValTransV ,@MontoNetoV ,@PrecSucioV ,@IngresoBruto ,@IngresoBrutoPend ,@ImpSumC ,@ComSumC ,@ImpSumV ,@ComSumV ,@ISR ,@ISRPend ,@IngresoNeto ,@IngresoNetoPend ,@SumImpComCompra ,@SumImpComVenta" cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn With cmd.Parameters .Add("@CodInv", SqlDbType.Float).Value = oAccion.CodigoInversion .Add("@OpPrefC", SqlDbType.Float).Value = oAccion.AccionPreferente .Add("@OpBolsaC", SqlDbType.Float).Value = oAccion.OperacionEnBolsa .Add("@PrecioLimpioC", SqlDbType.Float).Value = oAccion.PrecioLimpioCompra .Add("@FOperC", SqlDbType.Float).Value = oAccion.FechaOperacionCompra .Add("@FLiqC", SqlDbType.Float).Value = oAccion.FechaLiquidacionCompra .Add("@DiasTC", SqlDbType.Float).Value = oAccion.DiasDeTenenciaCompra .Add("@GCapTotC", SqlDbType.Float).Value = oAccion.GananciaDeCapitalTotalCompra .Add("@GCapUnC", SqlDbType.Float).Value = oAccion.GananciaDeCapitalUnitarioCompra .Add("@RetAnBrC", SqlDbType.Float).Value = oAccion.RetornoAnualizadoBrutoCompra .Add("@RetAnNetC", SqlDbType.Float).Value = oAccion.RetornoAnualizadoNetoCompra .Add("@UnC", SqlDbType.Float).Value = oAccion.CantidadCompra .Add("@ValTransC", SqlDbType.Float).Value = oAccion.ValorTransadoCompra .Add("@MontoNetoC", SqlDbType.Float).Value = oAccion.MontoNetoCompra .Add("@PrecSucioC", SqlDbType.Float).Value = oAccion.PrecioSucioCompra .Add("@FactDiv", SqlDbType.Float).Value = oAccion.FactorDeDividendo .Add("@PrecioLimpioV", SqlDbType.Float).Value = oAccion.PrecioLimpioVenta .Add("@FOperV", SqlDbType.Float).Value = oAccion.FechaOperacionVenta .Add("@FLiqV", SqlDbType.Float).Value = oAccion.FechaLiquidacionVenta .Add("@DiasTV", SqlDbType.Float).Value = oAccion.DiasDeTenenciaVenta .Add("@GCapTotV", SqlDbType.Float).Value = oAccion.GananciaDeCapitalTotalVenta .Add("@GCapUnV", SqlDbType.Float).Value = oAccion.GananciaDeCapitalUnitarioVenta .Add("@RetAnBrV", SqlDbType.Float).Value = oAccion.RetornoAnualizadoBrutoVenta .Add("@RetAnNetV", SqlDbType.Float).Value = oAccion.RetornoAnualizadoNetoVenta .Add("@UnV", SqlDbType.Float).Value = oAccion.CantidadVenta .Add("@ValTransV", SqlDbType.Float).Value = oAccion.ValorTransadoVenta .Add("@MontoNetoV", SqlDbType.Float).Value = oAccion.MontoNetoVenta .Add("@PrecSucioV", SqlDbType.Float).Value = oAccion.PrecioSucioVenta .Add("@IngresoBruto", SqlDbType.Float).Value = oAccion.IngresoBruto .Add("@IngresoBrutoPend", SqlDbType.Float).Value = oAccion.IngresoBrutoPendiente .Add("@ImpSumC", SqlDbType.Float).Value = 0 .Add("@ComSumC", SqlDbType.Float).Value = 0 .Add("@ImpSumV", SqlDbType.Float).Value = 0 .Add("@ComSumV", SqlDbType.Float).Value = 0 .Add("@ISR", SqlDbType.Float).Value = oAccion.ISR .Add("@ISRPend", SqlDbType.Float).Value = 0 .Add("@IngresoNeto", SqlDbType.Float).Value = oAccion.IngresoNeto .Add("@IngresoNetoPend", SqlDbType.Float).Value = 0 .Add("@SumImpComCompra", SqlDbType.Float).Value = oAccion.SumaImpuestosYComisionesCompra .Add("@SumImpComVenta", SqlDbType.Float).Value = oAccion.SumaImpuestosYComisionesVenta End With retorno = cmd.ExecuteNonQuery Me.GuardarDividendos(oAccion.CodigoInversion, oAccion.Dividendos) Me.GuardarImpuestosYComisiones(oAccion.CodigoInversion, oAccion.ImpuestosYComisiones) cn.Close() Return retorno End Function Function Nuevo(ByVal oAccion As AccionesCE, DocId As Integer, Tipo As String) As Integer Dim objCon As New Conexion Dim retorno As Integer = -1 Dim Transaccion As SqlTransaction Dim query As String Dim Tabla As String = "" Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If If Tipo = "P" Then Tabla = "PACC0" End If If Tipo = "I" Then Tabla = "IACC0" End If Dim cmd As SqlCommand = cn.CreateCommand Transaccion = cn.BeginTransaction("NuevaAccion") cmd.Connection = cn cmd.Transaction = Transaccion query = "INSERT INTO [dbo].[" & Tabla & "] ([DocId] ,[CodCasaC] ,[OpPrefC] ,[OpBolsaC] ,[PrecioLimpioC] ,[FOperC] ,[FLiqC] ,[DiasTC] ,[GCapTotC] ,[GCapUnC] ,[RetAnBrC] ,[RetAnNetC] ,[UnC] ,[ValTransC] ,[MontoNetoC] ,[PrecSucioC] ,[FactDiv] ,[PrecioLimpioV] ,[FOperV] ,[FLiqV] ,[DiasTV] ,[GCapTotV] ,[GCapUnV] ,[RetAnBrV] ,[RetAnNetV] ,[UnV] ,[ValTransV] ,[MontoNetoV] ,[PrecSucioV] ,[CodCasaV]) VALUES (@DocId ,@CodCasaC ,@OpPrefC ,@OpBolsaC ,@PrecioLimpioC ,@FOperC ,@FLiqC ,@DiasTC ,@GCapTotC ,@GCapUnC ,@RetAnBrC ,@RetAnNetC ,@UnC ,@ValTransC ,@MontoNetoC ,@PrecSucioC ,@FactDiv ,@PrecioLimpioV ,@FOperV ,@FLiqV ,@DiasTV ,@GCapTotV ,@GCapUnV ,@RetAnBrV ,@RetAnNetV ,@UnV ,@ValTransV ,@MontoNetoV ,@PrecSucioV ,@CodCasaV )" cmd.CommandText = query With cmd.Parameters .Add("@DocId", SqlDbType.Int).Value = DocId .Add("@CodCasaC", SqlDbType.VarChar).Value = oAccion.CodigoCasaCompra .Add("@OpPrefC", SqlDbType.VarChar).Value = oAccion.AccionPreferente .Add("@OpBolsaC", SqlDbType.VarChar).Value = oAccion.OperacionEnBolsa .Add("@PrecioLimpioC", SqlDbType.Decimal).Value = oAccion.PrecioLimpioCompra .Add("@FOperC", SqlDbType.DateTime).Value = oAccion.FechaOperacionCompra .Add("@FLiqC", SqlDbType.DateTime).Value = oAccion.FechaVencimientoCompra .Add("@DiasTC", SqlDbType.Int).Value = oAccion.DiasDeTenenciaCompra .Add("@GCapTotC", SqlDbType.Decimal).Value = oAccion.GananciaDeCapitalTotalCompra .Add("@GCapUnC", SqlDbType.Decimal).Value = oAccion.GananciaDeCapitalUnitarioCompra .Add("@RetAnBrC", SqlDbType.Decimal).Value = oAccion.RetornoAnualizadoBrutoCompra .Add("@RetAnNetC", SqlDbType.Decimal).Value = oAccion.RetornoAnualizadoNetoCompra .Add("@UnC", SqlDbType.Int).Value = oAccion.CantidadCompra .Add("@ValTransC", SqlDbType.Decimal).Value = oAccion.ValorTransadoCompra .Add("@MontoNetoC", SqlDbType.Decimal).Value = oAccion.MontoNetoCompra .Add("@PrecSucioC", SqlDbType.Decimal).Value = oAccion.PrecioSucioCompra .Add("@FactDiv", SqlDbType.Decimal).Value = oAccion.FactorDeDividendo .Add("@PrecioLimpioV", SqlDbType.Decimal).Value = oAccion.PrecioLimpioVenta .Add("@FOperV", SqlDbType.DateTime).Value = oAccion.FechaOperacionVenta .Add("@FLiqV", SqlDbType.DateTime).Value = oAccion.FechaVencimientoVenta .Add("@DiasTV", SqlDbType.Int).Value = oAccion.DiasDeTenenciaVenta .Add("@GCapTotV", SqlDbType.Decimal).Value = oAccion.GananciaDeCapitalTotalVenta .Add("@GCapUnV", SqlDbType.Decimal).Value = oAccion.GananciaDeCapitalUnitarioVenta .Add("@RetAnBrV", SqlDbType.Decimal).Value = oAccion.RetornoAnualizadoBrutoVenta .Add("@RetAnNetV", SqlDbType.Decimal).Value = oAccion.RetornoAnualizadoNetoVenta .Add("@UnV", SqlDbType.Int).Value = oAccion.CantidadVenta .Add("@ValTransV", SqlDbType.Decimal).Value = oAccion.ValorTransadoVenta .Add("@MontoNetoV", SqlDbType.Decimal).Value = oAccion.MontoNetoVenta .Add("@PrecSucioV", SqlDbType.Decimal).Value = oAccion.PrecioSucioVenta .Add("@CodCasaV", SqlDbType.VarChar).Value = oAccion.CodigoCasaVenta End With Try cmd.ExecuteNonQuery() Transaccion.Commit() retorno = 0 Catch ex As Exception MsgBox("Error al Guardar Accion : " & ex.GetType.ToString) MsgBox("Mensaje: " & ex.Message) retorno = 1 Try Transaccion.Rollback() retorno = 2 Catch ex2 As Exception MsgBox("Error en Rollback: " & ex2.GetType.ToString) MsgBox("Mensaje Rollbak: " & ex2.Message) retorno = 3 End Try End Try cmd.Dispose() cn.Dispose() Return retorno End Function Public Function CargarRegistro(ByVal vCodigoInversion As String) As AccionesCE Dim objCon As New Conexion Dim oAcciones As New AccionesCE Dim dtDividendos As New DataTable Dim dtImpuestosYComisiones As New DataTable Dim drd As SqlDataReader Dim cmd As SqlCommand Dim da As SqlDataAdapter Dim sql As String Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If sql = "SELECT * FROM [dbo].[ACC0] T0 WHERE T0.CodInv=@CodInv" cmd = New SqlCommand cmd.CommandText = sql cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = vCodigoInversion cmd.Connection = cn drd = cmd.ExecuteReader If drd.HasRows Then 'SE ENCONTRO EL REGISTRO 'oAcciones = New AccionesCE If drd.Read Then oAcciones.CodigoInversion = vCodigoInversion 'COMPRA oAcciones.AccionPreferente = drd.Item("OpPrefC").ToString oAcciones.OperacionEnBolsa = drd.Item("OpBolsaC").ToString If String.IsNullOrEmpty(drd.Item("PrecioLimpioC").ToString) Then oAcciones.PrecioLimpioCompra = 0 Else oAcciones.PrecioLimpioCompra = drd.Item("PrecioLimpioC").ToString End If If String.IsNullOrEmpty(drd.Item("UnC").ToString) Then oAcciones.CantidadCompra = 0 Else oAcciones.CantidadCompra = drd.Item("UnC").ToString End If If String.IsNullOrEmpty(drd.Item("FOperC").ToString) Then oAcciones.FechaOperacionCompra = Date.Now.Date Else oAcciones.FechaOperacionCompra = drd.Item("FOperC").ToString End If If String.IsNullOrEmpty(drd.Item("FVenC").ToString) Then oAcciones.FechaVencimientoCompra = Date.Now.Date Else oAcciones.FechaVencimientoCompra = drd.Item("FVenC").ToString End If If String.IsNullOrEmpty(drd.Item("RetAnBrC").ToString) Then oAcciones.RetornoBruto = 0 Else oAcciones.RetornoBruto = drd.Item("RetAnBrC").ToString End If If drd.Item("IOF").ToString Then oAcciones.IOF = True Else oAcciones.IOF = False End If If drd.Item("Renta").ToString Then oAcciones.Renta = True Else oAcciones.Renta = False End If If IsNumeric(drd.Item("GCapTotC")) Then oAcciones.GananciaDeCapitalTotalCompra = drd.Item("GCapTotC") Else oAcciones.GananciaDeCapitalTotalCompra = 0 End If If IsNumeric(drd.Item("GCapUnC")) Then oAcciones.GananciaDeCapitalUnitarioCompra = drd.Item("GCapUnC") Else oAcciones.GananciaDeCapitalUnitarioCompra = 0 End If If IsNumeric(drd.Item("RetAnBrC")) Then oAcciones.RetornoAnualizadoBrutoCompra = drd.Item("RetAnBrC") Else oAcciones.RetornoAnualizadoBrutoCompra = 0 End If If IsNumeric(drd.Item("RetAnNetC")) Then oAcciones.RetornoAnualizadoNetoCompra = drd.Item("RetAnNetC") Else oAcciones.RetornoAnualizadoNetoCompra = 0 End If If IsNumeric(drd.Item("FactDiv")) Then oAcciones.FactorDeDividendo = drd.Item("FactDiv") Else oAcciones.FactorDeDividendo = 0 End If If IsNumeric(drd.Item("GCapTotV")) Then oAcciones.GananciaDeCapitalTotalVentasus = drd.Item("GCapTotV") Else oAcciones.GananciaDeCapitalTotalVentasus = 0 End If If IsNumeric(drd.Item("GCapUnV")) Then oAcciones.GananciaDeCapitalUnitarioVenta = drd.Item("GCapUnV") Else oAcciones.GananciaDeCapitalUnitarioVenta = 0 End If If IsNumeric(drd.Item("RetAnBrV")) Then oAcciones.RetornoAnualizadoBrutoVentasus = drd.Item("RetAnBrV") Else oAcciones.RetornoAnualizadoBrutoVentasus = 0 End If If IsNumeric(drd.Item("RetAnNetV")) Then oAcciones.RetornoAnualizadoNetoVenta = drd.Item("RetAnNetV") Else oAcciones.RetornoAnualizadoNetoVenta = 0 End If 'VENTA If String.IsNullOrEmpty(drd.Item("PrecioLimpioV").ToString) Then oAcciones.PrecioLimpioVenta = 0 Else oAcciones.PrecioLimpioVenta = drd.Item("PrecioLimpioV").ToString End If If String.IsNullOrEmpty(drd.Item("PrecSucioC").ToString) Then oAcciones.PrecioSucioCompra = 0 Else oAcciones.PrecioSucioCompra = drd.Item("PrecSucioC").ToString End If If String.IsNullOrEmpty(drd.Item("PrecSucioV").ToString) Then oAcciones.PrecioSucioVentasus = 0 Else oAcciones.PrecioSucioVentasus = drd.Item("PrecSucioV").ToString End If If String.IsNullOrEmpty(drd.Item("FOperV").ToString) Then oAcciones.FechaOperacionVenta = Date.Now.Date Else oAcciones.FechaOperacionVenta = drd.Item("FOperV").ToString End If If String.IsNullOrEmpty(drd.Item("FVenV").ToString) Then oAcciones.FechaVencimientoVenta = Date.Now.Date Else oAcciones.FechaVencimientoVenta = drd.Item("FVenV").ToString End If If String.IsNullOrEmpty(drd.Item("UnV").ToString) Then oAcciones.CantidadVenta = 0 Else oAcciones.CantidadVenta = drd.Item("UnV").ToString End If End If If String.IsNullOrEmpty(drd.Item("Tipo").ToString) Then oAcciones.Tipo = 0 Else oAcciones.Tipo = drd.Item("Tipo").ToString End If If String.IsNullOrEmpty(drd.Item("DiasTC").ToString) Then oAcciones.DiasDeTenenciaCompra = 0 Else oAcciones.DiasDeTenenciaCompra = drd.Item("DiasTC").ToString End If If String.IsNullOrEmpty(drd.Item("DiasTV").ToString) Then oAcciones.DiasDeTenenciaVenta = 0 Else oAcciones.DiasDeTenenciaVenta = drd.Item("DiasTV").ToString End If If String.IsNullOrEmpty(drd.Item("ValTransC")) Then oAcciones.ValorTransadoCompra = 0 Else oAcciones.ValorTransadoCompra = drd.Item("ValTransC") End If If String.IsNullOrEmpty(drd.Item("ValTransV")) Then oAcciones.ValorTransadoVenta = 0 Else oAcciones.ValorTransadoVenta = drd.Item("ValTransV") End If If String.IsNullOrEmpty(drd.Item("MontoNetoC").ToString) Then oAcciones.MontoNetoComprasus = 0 Else oAcciones.MontoNetoComprasus = drd.Item("MontoNetoC") End If If String.IsNullOrEmpty(drd.Item("MontoNetoV").ToString) Then oAcciones.MontoNetoVentasus = 0 Else oAcciones.MontoNetoVentasus = drd.Item("MontoNetoV") End If If (String.IsNullOrEmpty(drd.Item("ComisionCompraCasaValor").ToString)) Then oAcciones.ComisionCompraCasa = 0 Else oAcciones.ComisionCompraCasa = drd.Item("ComisionCompraCasaValor").ToString End If If (String.IsNullOrEmpty(drd.Item("ComisionCompraBolsaValor").ToString)) Then oAcciones.ComisionCompraBolsa = 0 Else oAcciones.ComisionCompraBolsa = drd.Item("ComisionCompraBolsaValor").ToString End If If (String.IsNullOrEmpty(drd.Item("ComisionVentaCasaValor").ToString)) Then oAcciones.ComisionVentaCasa = 0 Else oAcciones.ComisionVentaCasa = drd.Item("ComisionVentaCasaValor").ToString End If If (String.IsNullOrEmpty(drd.Item("ComisionVentaBolsaValor").ToString)) Then oAcciones.ComisionVentaBolsa = 0 Else oAcciones.ComisionVentaBolsa = drd.Item("ComisionVentaBolsaValor").ToString End If If (String.IsNullOrEmpty(drd.Item("ComisionCompraCasa").ToString)) Then oAcciones.ComisionPorcentajeCompraCasa = 0 Else oAcciones.ComisionPorcentajeCompraCasa = drd.Item("ComisionCompraCasa").ToString End If If (String.IsNullOrEmpty(drd.Item("ComisionCompraBolsa").ToString)) Then oAcciones.ComisionPorcentajeCompraBolsa = 0 Else oAcciones.ComisionPorcentajeCompraBolsa = drd.Item("ComisionCompraBolsa").ToString End If If (String.IsNullOrEmpty(drd.Item("ComisionVentaCasa").ToString)) Then oAcciones.ComisionPorcentajeVentaCasa = 0 Else oAcciones.ComisionPorcentajeVentaCasa = drd.Item("ComisionVentaCasa").ToString End If If (String.IsNullOrEmpty(drd.Item("ComisionVentaBolsa").ToString)) Then oAcciones.ComisionPorcentajeVentaBolsa = 0 Else oAcciones.ComisionPorcentajeVentaBolsa = drd.Item("ComisionVentaBolsa").ToString End If drd.Close() Else oAcciones.CantidadCompra = 0 'NO SE ENCONTRO EL REGISTRO End If cmd.Dispose() cn.Dispose() Return oAcciones End Function Public Function CargarRegistroActualizar() As DataTable Dim objCon As New Conexion Dim ds As New DataSet Dim dt As DataTable Dim da As SqlDataAdapter Dim sql As String = String.Empty Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If sql = "SELECT * FROM [dbo].[ACC0] " da = New SqlDataAdapter(sql, cn) da.Fill(ds) dt = ds.Tables(0) da.Dispose() cn.Dispose() Return dt End Function Public Function Actualizar(ByVal oAccionesCE As AccionesCE) As Integer Dim objCon As New Conexion Dim sql As String Dim cmd As SqlCommand Dim retorno As Integer Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If sql = " " cmd = New SqlCommand cmd.CommandText = sql cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Variables.Codigo cmd.CommandType = CommandType.Text cmd.Connection = cn retorno = cmd.ExecuteNonQuery() cmd.Dispose() cn.Dispose() Return retorno End Function Private Sub GuardarDividendos(ByVal CodInversion As String, ByVal dt As DataTable) Dim objCon As New Conexion Dim sql As String Dim cmd As SqlCommand Dim res As Integer Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If sql = "DELETE FROM [dbo].[ACC1] WHERE [CodInv]=@CodInv" cmd = New SqlCommand cmd.CommandText = sql cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = CodInversion cmd.Connection = cn res = cmd.ExecuteNonQuery sql = String.Empty If dt.Rows.Count > 0 Then For Each dr In dt.Rows cmd = New SqlCommand sql = "INSERT INTO [dbo].[ACC1] ([CodInv] ,[Fecha] ,[Dividendo] ,[CantidadBase] ,[IngresoBruto] ,[PorcISR] ,[ISR] ,[IngresoNeto]) VALUES (@CodInv ,@Fecha ,@Dividendo ,@CantidadBase ,@IngresoBruto ,@PorcISR ,@ISR ,@IngresoNeto)" cmd.CommandText = sql cmd.Parameters.AddWithValue("@CodInv", CodInversion) cmd.Parameters.AddWithValue("@Fecha", dr("Fecha")) cmd.Parameters.AddWithValue("@Dividendo", dr("Dividendo")) cmd.Parameters.AddWithValue("@CantidadBase", dr("CantidadBase")) cmd.Parameters.AddWithValue("@IngresoBruto", dr("IngresoBruto")) cmd.Parameters.AddWithValue("@PorcISR", dr("PorcISR")) cmd.Parameters.AddWithValue("@ISR", dr("ISR")) cmd.Parameters.AddWithValue("@IngresoNeto", dr("IngresoNeto")) cmd.Connection = cn res = cmd.ExecuteNonQuery Next End If cn.Close() End Sub Private Sub GuardarImpuestosYComisiones(ByVal CodInversion As String, ByVal dt As DataTable) Dim objCon As New Conexion Dim sql As String Dim cmd As SqlCommand Dim res As Integer Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If sql = "DELETE FROM [dbo].[ACC2] WHERE [CodInv]=@CodInv" cmd = New SqlCommand cmd.CommandText = sql cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = CodInversion cmd.Connection = cn res = cmd.ExecuteNonQuery sql = String.Empty If dt.Rows.Count > 0 Then For Each dr In dt.Rows cmd = New SqlCommand sql = "INSERT INTO [dbo].[ACC2] ([CodInv] ,[TipoOper] ,[CodImp] ,[PorcImp] ,[MontoImp] ,[MontoSujeto]) VALUES (@CodInv ,@TipoOper ,@CodImp ,@PorcImp ,@MontoImp ,@MontoSujeto)" cmd.CommandText = sql cmd.Parameters.AddWithValue("@CodInv", CodInversion) cmd.Parameters.AddWithValue("@TipoOper", dr("TipoOper")) cmd.Parameters.AddWithValue("@CodImp", dr("CodImp")) cmd.Parameters.AddWithValue("@PorcImp", dr("PorcImp")) cmd.Parameters.AddWithValue("@MontoImp", dr("MontoImp")) cmd.Parameters.AddWithValue("@MontoSujeto", dr("MontoSujeto")) cmd.Connection = cn res = cmd.ExecuteNonQuery Next End If cn.Close() End Sub Public Function CargarDividendo(ByVal codigo As String) Dim objCon As New Conexion Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If Dim sql = "select * from ACC1 where CodInv='" + codigo + "' order by NumDiv" Dim cmd As New SqlCommand(sql, cn) Dim dr As SqlDataReader dr = cmd.ExecuteReader Return dr End Function End Class