Imports System.Data.SqlClient Public Class ReportosDAO Dim Operaciones As New Operaciones Public Function Nuevo(ByVal oReporto As ReportosCE) As Integer Dim retorno As Integer Return retorno End Function Public Function ProcesoDatos(ByVal Diccionario As Dictionary(Of String, Collection), ByVal Codigo As String, ByVal Tabla 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 " + Tabla + " WHERE [CodInv]=@CodInv " cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn cmd.Transaction = myTrans cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo retorno = cmd.ExecuteNonQuery If Not Diccionario Is Nothing Then For Each DatosDiccionario In Diccionario Dim Coleccion As Collection = DatosDiccionario.Value If Tabla = "REP0" Then sql = "INSERT INTO " + Tabla + "( [CodInv] ,[codigo] ,[Nombre] ,[FCompra] ,[ValTrans] ,[Dias] ,[FVenc] ,[Rend] ,[CostoTransfr] ,[ComisionCasa] ,[ComisionBolsa] ,[Casa] ,[IOF] ,[Renta] ,[Base] ,[ComisionCasaValor] ,[ComisionBolsaValor] ,[IOFValor] ,[OtrosCostos] ,[TotalCostos] ,[MontoLiq] ,[IntGenerar] ,[RendAntImp] ,[RendDesImp] ,[ImpLiq] ,[IngrNet] ,[ValorNet] ,[EstadoIOF] ,[EstadoRenta] ) VALUES( @CodInv ,@codigo ,@Nombre ,@FCompra ,@ValTrans ,@Dias ,@FVenc ,@Rend ,@CostoTransfr ,@ComisionCasa ,@ComisionBolsa ,@Casa ,@IOF ,@Renta ,@Base ,@ComisionCasaValor ,@ComisionBolsaValor ,@IOFValor ,@OtrosCostos ,@TotalCostos ,@MontoLiq ,@IntGenerar ,@RendAntImp ,@RendDesImp ,@ImpLiq ,@IngrNet ,@ValorNet ,@EstadoIOF ,@EstadoRenta ) " Else sql = "INSERT INTO " + Tabla + "( [CodInv] ,[codigo] ,[Nombre] ,[FCompra] ,[ValTrans] ,[Dias] ,[FVenc] ,[Rend] ,[CostoTransfr] ,[ComisionCasa] ,[ComisionBolsa] ,[Casa] ,[IOF] ,[Renta] ,[Base] ,[ComisionCasaValor] ,[ComisionBolsaValor] ,[IOFValor] ,[OtrosCostos] ,[TotalCostos] ,[MontoLiq] ,[IntGenerar] ,[RendAntImp] ,[RendDesImp] ,[ImpLiq] ,[IngrNet] ,[ValorNet] ,[EstadoIOF] ,[EstadoRenta] ) VALUES( @CodInv ,@codigo ,@Nombre ,@FCompra ,@ValTrans ,@Dias ,@FVenc ,@Rend ,@CostoTransfr ,@ComisionCasa ,@ComisionBolsa ,@Casa ,@IOF ,@Renta ,@Base ,@ComisionCasaValor ,@ComisionBolsaValor ,@IOFValor ,@OtrosCostos ,@TotalCostos ,@MontoLiq ,@IntGenerar ,@RendAntImp ,@RendDesImp ,@ImpLiq ,@IngrNet ,@ValorNet ,@EstadoIOF ,@EstadoRenta ) " 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("@Nombre", SqlDbType.VarChar).Value = Coleccion(1).ToString .Add("@FCompra", SqlDbType.Date).Value = Operaciones.ConvertirFecha(Coleccion(2).ToString) .Add("@ValTrans", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(3).ToString) .Add("@Dias", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(4).ToString) .Add("@FVenc", SqlDbType.Date).Value = Operaciones.ConvertirFecha(Coleccion(5).ToString) .Add("@Rend", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(6).ToString) .Add("@CostoTransfr", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(7).ToString) .Add("@codigo", SqlDbType.VarChar).Value = Coleccion(8).ToString .Add("@ComisionCasa", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion(9).ToString) .Add("@ComisionBolsa", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion(10).ToString) .Add("@Casa", SqlDbType.VarChar).Value = Coleccion(11).ToString .Add("@IOF", SqlDbType.Bit).Value = CByte(Coleccion(12)) .Add("@Renta", SqlDbType.Bit).Value = CByte(Coleccion(13)) .Add("@Base", SqlDbType.Int).Value = DBNull.Value .Add("@ComisionCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(14).ToString) .Add("@ComisionBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(15).ToString) .Add("@IOFValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(16).ToString) .Add("@OtrosCostos", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(17).ToString) .Add("@TotalCostos", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(18).ToString) .Add("@MontoLiq", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(19).ToString) .Add("@IntGenerar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(20).ToString) .Add("@RendAntImp", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(21).ToString) .Add("@RendDesImp", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(22).ToString) .Add("@ImpLiq", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(23).ToString) .Add("@IngrNet", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(24).ToString) .Add("@ValorNet", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(25).ToString) .Add("@EstadoIOF", SqlDbType.Bit).Value = CByte(Coleccion(27)) .Add("@EstadoRenta", SqlDbType.Bit).Value = CByte(Coleccion(28)) 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 Function CargarReporto(ByVal codigo As String, ByVal Tabla 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 " + Tabla + " where CodInv='" + codigo + "' order by codigo" Dim cmd As New SqlCommand(sql, cn) Dim dr As SqlDataReader dr = cmd.ExecuteReader If (Not dr.HasRows) Then cn.Close() Return Nothing End If Return dr End Function Public Sub Eliminar(ByVal Codigo As String, ByVal clave As String, ByVal Tabla As String) Dim objCon As New Conexion Dim sql As String Dim cmd As SqlCommand Dim res As Integer Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If If (String.IsNullOrEmpty(clave)) Then sql = "DELETE FROM " + Tabla + " WHERE [CodInv]=@CodInv AND codigo is null" Else sql = "DELETE FROM " + Tabla + " WHERE [CodInv]=@CodInv AND codigo=@codigo" End If cmd = New SqlCommand cmd.CommandText = sql cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo cmd.Parameters.Add("@codigo", SqlDbType.VarChar).Value = clave cmd.Connection = cn res = cmd.ExecuteNonQuery cn.Close() End Sub Public Function Nuevo(ByVal oReporto As ReportosCE, DocId As Integer, Tipo As String) As Integer Dim objCon As New Conexion Dim retorno As Integer = -1 Dim Transaccion As SqlTransaction Dim query As String Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If Dim Tabla As String = "" If Tipo = "P" Then Tabla = "PREP" End If If Tipo = "I" Then Tabla = "IREP" End If Dim cmd As SqlCommand = cn.CreateCommand Transaccion = cn.BeginTransaction("NuevoLete") cmd.Connection = cn cmd.Transaction = Transaccion query = "INSERT INTO [dbo].[PREP] ([DocId] ,[CodInv] ,[ValTrans] ,[Dias] ,[FVenc] ,[Rend] ,[OtrosCostos] ,[TotCostos] ,[MontoLiq] ,[InterGen] ,[CostoTransfr] ,[RendNetoAntImp] ,[ValReCompra] ,[ImpLiquidacion] ,[IngrNeto] ,[ValNeto] ,[RendNetoDespImp]) VALUES (@DocId ,@CodInv ,@ValTrans ,@Dias ,@FVenc ,@Rend ,@OtrosCostos ,@TotCostos ,@MontoLiq ,@InterGen ,@CostoTransfr ,@RendNetoAntImp ,@ValReCompra ,@ImpLiquidacion ,@IngrNeto ,@ValNeto ,@RendNetoDespImp )" cmd.CommandText = query With cmd.Parameters .Add("@DocId", SqlDbType.Int).Value = DocId .Add("@CodInv", SqlDbType.VarChar).Value = oReporto.ValorTransado .Add("@ValTrans", SqlDbType.Decimal).Value = oReporto.ValorTransado .Add("@Dias", SqlDbType.Int).Value = oReporto.Dias .Add("@FVenc", SqlDbType.DateTime).Value = oReporto.FechaVencimiento .Add("@Rend", SqlDbType.Decimal).Value = oReporto.Rendimiento .Add("@OtrosCostos", SqlDbType.Decimal).Value = oReporto.OtrosCostos .Add("@TotCostos", SqlDbType.Decimal).Value = oReporto.TotalCostos .Add("@MontoLiq", SqlDbType.Decimal).Value = oReporto.MontoALiquidar .Add("@InterGen", SqlDbType.Decimal).Value = oReporto.InteresAGenerar .Add("@CostoTransfr", SqlDbType.Decimal).Value = oReporto.CostoDeTransferencia .Add("@RendNetoAntImp", SqlDbType.Decimal).Value = oReporto.RendimientoNetoAntesDeImpuestos .Add("@ValReCompra", SqlDbType.Decimal).Value = oReporto.ValorReCompra .Add("@ImpLiquidacion", SqlDbType.Decimal).Value = oReporto.ImpuestosLiquidacion .Add("@IngrNeto", SqlDbType.Decimal).Value = oReporto.IngresoNeto .Add("@ValNeto", SqlDbType.Decimal).Value = oReporto.ValorNeto .Add("@RendNetoDespImp", SqlDbType.Decimal).Value = oReporto.RendimientoNetoDespuesDeImpuestos End With Try cmd.ExecuteNonQuery() Transaccion.Commit() retorno = 0 Catch ex As Exception MsgBox("Error al Guardar Reporto : " & 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 Sub CargarRegistro(ByVal oReportos As ReportosCE, Tipo As String, IdRegistro As Integer) Dim objCon As New Conexion Dim drd As SqlDataReader Dim cmd As SqlCommand Dim sql 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 = "PREP" End If If Tipo = "I" Then Tabla = "IREP" End If sql = "SELECT * FROM [dbo].[" & Tabla & "] T0 WHERE T0.[DocId]=@DocId" cmd = New SqlCommand cmd.CommandText = sql cmd.Parameters.Add("@DocId", SqlDbType.Int).Value = IdRegistro cmd.Connection = cn drd = cmd.ExecuteReader If drd.HasRows Then 'SE ENCONTRO EL REGISTRO If drd.Read Then oReportos.CodigoCasa = drd.Item("CodCasa") oReportos.Nombre = drd.Item("Nombre") oReportos.FechaDeCompra = drd.Item("FCompra") oReportos.ValorTransado = drd.Item("ValTrans") oReportos.Dias = drd.Item("Dias") oReportos.FechaVencimiento = drd.Item("FVenc") oReportos.Rendimiento = drd.Item("Rend") oReportos.Impuestos = drd.Item("Impuestos") oReportos.OtrosCostos = drd.Item("OtrosCostos") 'oReportos.TotalCostos = drd.Item("TotCostos") oReportos.MontoALiquidar = drd.Item("MontoLiq") 'oReportos.InteresAGenerar = drd.Item("InterGen") oReportos.CostoDeTransferencia = drd.Item("CostoTransfr") 'oReportos.RendimientoNetoAntesDeImpuestos = drd.Item("RendNetoAntImp") oReportos.ValorReCompra = drd.Item("ValReCompra") oReportos.ImpuestosLiquidacion = drd.Item("ImpLiquidacion") 'oReportos.IngresoNeto = drd.Item("IngrNeto") oReportos.ValorNeto = drd.Item("ValNeto") 'oReportos.RendimientoNetoDespuesDeImpuestos = drd.Item("RendNetoDespImp") End If Else 'NO SE ENCONTRO EL REGISTRO End If drd.Close() cmd.Dispose() cn.Dispose() End Sub Public Function CargarRegistro(ByVal vCodigoInversion As String) As ReportosCE Dim objCon As New Conexion Dim oReportosCE As ReportosCE Dim sql As String Dim cmd As SqlCommand Dim drd As SqlDataReader Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If oReportosCE = New ReportosCE sql = "SELECT * FROM [dbo].[REP0] 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 If drd.Read Then oReportosCE.CodigoInversion = vCodigoInversion oReportosCE.Nombre = drd.Item("Nombre") oReportosCE.FechaDeCompra = drd.Item("FCompra") oReportosCE.ValorTransado = drd.Item("ValTrans") oReportosCE.Dias = drd.Item("Dias") oReportosCE.FechaVencimiento = drd.Item("FVenc") oReportosCE.Rendimiento = drd.Item("Rend") End If Else 'NO SE ENCONTRO EL REGISTRO End If drd.Close() cmd.Dispose() cn.Dispose() Return oReportosCE End Function Public Function Nuevo(ByVal Coleccion As Collection, ByVal Codigo As String, ByVal Tabla As String) 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 Tabla = "REP0" Then sql = "INSERT INTO " + Tabla + "( [CodInv] ,[codigo] ,[Nombre] ,[FCompra] ,[ValTrans] ,[Dias] ,[FVenc] ,[Rend] ,[CostoTransfr] ,[ComisionCasa] ,[ComisionBolsa] ,[Casa] ,[IOF] ,[Renta] ,[Base] ,[ComisionCasaValor] ,[ComisionBolsaValor] ,[IOFValor] ,[OtrosCostos] ,[TotalCostos] ,[MontoLiq] ,[IntGenerar] ,[RendAntImp] ,[RendDesImp] ,[ImpLiq] ,[IngrNet] ,[ValorNet] ,[EstadoIOF] ,[EstadoRenta] ) VALUES( @CodInv ,@codigo ,@Nombre ,@FCompra ,@ValTrans ,@Dias ,@FVenc ,@Rend ,@CostoTransfr ,@ComisionCasa ,@ComisionBolsa ,@Casa ,@IOF ,@Renta ,@Base ,@ComisionCasaValor ,@ComisionBolsaValor ,@IOFValor ,@OtrosCostos ,@TotalCostos ,@MontoLiq ,@IntGenerar ,@RendAntImp ,@RendDesImp ,@ImpLiq ,@IngrNet ,@ValorNet ,@EstadoIOF ,@EstadoRenta ) " Else sql = "INSERT INTO " + Tabla + "( [CodInv] ,[codigo] ,[Nombre] ,[FCompra] ,[ValTrans] ,[Dias] ,[FVenc] ,[Rend] ,[CostoTransfr] ,[ComisionCasa] ,[ComisionBolsa] ,[Casa] ,[IOF] ,[Renta] ,[Base] ,[ComisionCasaValor] ,[ComisionBolsaValor] ,[IOFValor] ,[OtrosCostos] ,[TotalCostos] ,[MontoLiq] ,[IntGenerar] ,[RendAntImp] ,[RendDesImp] ,[ImpLiq] ,[IngrNet] ,[ValorNet] ,[EstadoIOF] ,[EstadoRenta] ) VALUES( @CodInv ,@codigo ,@Nombre ,@FCompra ,@ValTrans ,@Dias ,@FVenc ,@Rend ,@CostoTransfr ,@ComisionCasa ,@ComisionBolsa ,@Casa ,@IOF ,@Renta ,@Base ,@ComisionCasaValor ,@ComisionBolsaValor ,@IOFValor ,@OtrosCostos ,@TotalCostos ,@MontoLiq ,@IntGenerar ,@RendAntImp ,@RendDesImp ,@ImpLiq ,@IngrNet ,@ValorNet ,@EstadoIOF ,@EstadoRenta ) " End If cmd = New SqlCommand cmd.CommandText = sql With cmd.Parameters .Add("@CodInv", SqlDbType.VarChar).Value = Codigo .Add("@Nombre", SqlDbType.VarChar).Value = Coleccion(1) .Add("@FCompra", SqlDbType.DateTime).Value = Coleccion(2) .Add("@ValTrans", SqlDbType.Float).Value = Coleccion(3) .Add("@Dias", SqlDbType.Float).Value = Coleccion(4) .Add("@FVenc", SqlDbType.DateTime).Value = Coleccion(5) .Add("@Rend", SqlDbType.Float).Value = Coleccion(6) .Add("@CostoTransfr", SqlDbType.Float).Value = Coleccion(7) .Add("@codigo", SqlDbType.VarChar).Value = Coleccion(8) .Add("@ComisionCasa", SqlDbType.Decimal).Value = Coleccion(9) .Add("@ComisionBolsa", SqlDbType.Decimal).Value = Coleccion(10) .Add("@Casa", SqlDbType.VarChar).Value = Coleccion(11) .Add("@IOF", SqlDbType.Bit).Value = CByte(Coleccion(12)) .Add("@Renta", SqlDbType.Bit).Value = CByte(Coleccion(13)) .Add("@Base", SqlDbType.Int).Value = DBNull.Value .Add("@ComisionCasaValor", SqlDbType.Float).Value = Coleccion(14) .Add("@ComisionBolsaValor", SqlDbType.Float).Value = Coleccion(15) .Add("@IOFValor", SqlDbType.Float).Value = Coleccion(16) .Add("@OtrosCostos", SqlDbType.Float).Value = Coleccion(17) .Add("@TotalCostos", SqlDbType.Float).Value = Coleccion(18) .Add("@MontoLiq", SqlDbType.Float).Value = Coleccion(19) .Add("@IntGenerar", SqlDbType.Float).Value = Coleccion(20) .Add("@RendAntImp", SqlDbType.Float).Value = Coleccion(21) .Add("@RendDesImp", SqlDbType.Float).Value = Coleccion(22) .Add("@ImpLiq", SqlDbType.Float).Value = Coleccion(23) .Add("@IngrNet", SqlDbType.Float).Value = Coleccion(24) .Add("@ValorNet", SqlDbType.Float).Value = Coleccion(25) .Add("@EstadoIOF", SqlDbType.Float).Value = Coleccion(24) .Add("@EstadoRenta", SqlDbType.Float).Value = Coleccion(25) End With cmd.Connection = cn retorno = cmd.ExecuteNonQuery cn.Close() Return retorno End Function Public Function Modificar(ByVal Coleccion As Collection, ByVal Codigo As String, ByVal Tabla As String) 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 Tabla = "REP0" Then sql = "UPDATE " + Tabla + " SET [codigo]=@codigo ,[Nombre]=@Nombre ,[FCompra]=@FCompra ,[ValTrans]=@ValTrans ,[Dias]=@Dias ,[FVenc]=@FVenc ,[Rend]=@Rend ,[CostoTransfr]=@CostoTransfr ,[ComisionCasa]=@ComisionCasa ,[ComisionBolsa]=@ComisionBolsa ,[Casa]=@Casa ,[IOF]=@IOF ,[Renta]=@Renta ,[Base]=@Base ,[ComisionCasaValor]=@ComisionCasaValor ,[ComisionBolsaValor]=@ComisionBolsaValor ,[IOFValor]=@IOFValor ,[OtrosCostos]=@OtrosCostos ,[TotalCostos]=@TotalCostos ,[MontoLiq]=@MontoLiq ,[IntGenerar]=@IntGenerar ,[RendAntImp]=@RendAntImp ,[RendDesImp]=@RendDesImp ,[ImpLiq]=@ImpLiq ,[IngrNet]=@IngrNet ,[ValorNet]=@ValorNet where [CodInv]=@CodInv AND ([codigo]=@codigo OR codigo is null) " Else sql = "UPDATE " + Tabla + " SET [Monto]=@Monto ,[FVenc]=@FVenc ,[CostoFinanciero]=@CostoFinanciero ,[Interes]=@Interes ,[Bolsa]=@Bolsa ,[TotPagar]=@TotPagar ,[Nombre]=@Nombre ,[FCompra]=@FCompra ,[ComisionCasa]=@ComisionCasa ,[ComisionBolsa]=@ComisionBolsa ,[Casa]=@Casa ,[Casa2]=@Casa2 ,[Dias]=@Dias ,[Base]=@Base where [CodInv]=@CodInv AND ([codigo]=@codigo OR codigo is null) " End If cmd = New SqlCommand cmd.CommandText = sql 'Try If Tabla = "REP0" Then With cmd.Parameters .Add("@CodInv", SqlDbType.VarChar).Value = Codigo .Add("@Nombre", SqlDbType.VarChar).Value = Coleccion(1) .Add("@FCompra", SqlDbType.DateTime).Value = Coleccion(2) .Add("@ValTrans", SqlDbType.Float).Value = Coleccion(3) .Add("@Dias", SqlDbType.Float).Value = Coleccion(4) .Add("@FVenc", SqlDbType.DateTime).Value = Coleccion(5) .Add("@Rend", SqlDbType.Float).Value = Coleccion(6) .Add("@CostoTransfr", SqlDbType.Float).Value = Coleccion(7) .Add("@codigo", SqlDbType.VarChar).Value = Coleccion(8) .Add("@ComisionCasa", SqlDbType.Decimal).Value = Coleccion(9) .Add("@ComisionBolsa", SqlDbType.Decimal).Value = Coleccion(10) .Add("@Casa", SqlDbType.VarChar).Value = Coleccion(11) .Add("@IOF", SqlDbType.Bit).Value = CByte(Coleccion(12)) .Add("@Renta", SqlDbType.Bit).Value = CByte(Coleccion(13)) If Coleccion(14) Is DBNull.Value Then '.Add("@Base", SqlDbType.Int).Value = 0 Else If String.IsNullOrEmpty(Coleccion(14)) Then '.Add("@Base", SqlDbType.Int).Value = 0 Else '.Add("@Base", SqlDbType.Int).Value = Coleccion(14) End If End If .Add("@Base", SqlDbType.Int).Value = DBNull.Value .Add("@ComisionCasaValor", SqlDbType.Float).Value = Coleccion(14) .Add("@ComisionBolsaValor", SqlDbType.Float).Value = Coleccion(15) .Add("@IOFValor", SqlDbType.Float).Value = Coleccion(16) .Add("@OtrosCostos", SqlDbType.Float).Value = Coleccion(17) .Add("@TotalCostos", SqlDbType.Float).Value = Coleccion(18) .Add("@MontoLiq", SqlDbType.Float).Value = Coleccion(19) .Add("@IntGenerar", SqlDbType.Float).Value = Coleccion(20) .Add("@RendAntImp", SqlDbType.Float).Value = Coleccion(21) .Add("@RendDesImp", SqlDbType.Float).Value = Coleccion(22) .Add("@ImpLiq", SqlDbType.Float).Value = Coleccion(23) .Add("@IngrNet", SqlDbType.Float).Value = Coleccion(24) .Add("@ValorNet", SqlDbType.Float).Value = Coleccion(25) End With Else With cmd.Parameters .Add("@CodInv", SqlDbType.VarChar).Value = Codigo .Add("@Monto", SqlDbType.Float).Value = Coleccion(1) .Add("@FVenc", SqlDbType.Date).Value = Coleccion(2) .Add("@CostoFinanciero", SqlDbType.Float).Value = Coleccion(3) .Add("@Interes", SqlDbType.Float).Value = Coleccion(4) .Add("@Bolsa", SqlDbType.Float).Value = Coleccion(5) .Add("@TotPagar", SqlDbType.Float).Value = Coleccion(6) .Add("@Nombre", SqlDbType.VarChar).Value = Coleccion(7) .Add("@FCompra", SqlDbType.Date).Value = Coleccion(8) .Add("@ComisionCasa", SqlDbType.Decimal).Value = Coleccion(9) .Add("@ComisionBolsa", SqlDbType.Decimal).Value = Coleccion(10) .Add("@Casa", SqlDbType.Float).Value = Coleccion(11) .Add("@Casa2", SqlDbType.VarChar).Value = Coleccion(12) .Add("@Dias", SqlDbType.Int).Value = Coleccion(13) .Add("@codigo", SqlDbType.Int).Value = Coleccion(14) If Coleccion(15) Is DBNull.Value Then '.Add("@Base", SqlDbType.Int).Value = 0 Else If String.IsNullOrEmpty(Coleccion(15)) Then '.Add("@Base", SqlDbType.Int).Value = 0 Else '.Add("@Base", SqlDbType.Int).Value = Coleccion(15) End If End If .Add("@Base", SqlDbType.Int).Value = DBNull.Value End With End If cmd.Connection = cn retorno = cmd.ExecuteNonQuery 'Catch ex As Exception ' MsgBox("Error al Modificar los registros") ' Return Nothing 'End Try cn.Close() Return retorno End Function Public Function TraerImpuesto(ByVal Codigo As String, ByVal codigoElemento As String) Dim objCon As New Conexion Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If If (Not String.IsNullOrEmpty(Codigo)) Then Dim sql As String Dim cmd As SqlCommand Dim Impuesto As String sql = "SELECT * FROM REP0 WHERE CodInv=@Codigo and [codigo]=@codigoElemento" cmd = New SqlCommand cmd.CommandText = sql cmd.Parameters.Add("@Codigo", SqlDbType.VarChar).Value = Codigo cmd.Parameters.Add("@codigoElemento", SqlDbType.VarChar).Value = codigoElemento cmd.Connection = cn ' Dim Datos = cmd.ExecuteScalar Dim Datos = cmd.ExecuteReader cn.Close() If Datos.HasRows Then 'SE ENCONTRO EL REGISTRO Try If Datos.Read Then Impuesto = Datos.Item("Impuestos") Return Impuesto Else Return 0 End If Catch ex As Exception Return 0 End Try Else Return 0 End If Else Return 0 End If End Function Public Function AgregarImpuesto(ByVal CodigoInv As String, ByVal CodigoElemento As String, ByVal Impues As String, ByVal Flag 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 Dim Impuestos As String = TraerImpuesto(CodigoInv, CodigoElemento) If (String.IsNullOrEmpty(Impuestos) Or Impuestos = "0") Then Impuestos = Impues Else If (Flag = 0) Then If InStr(1, Impuestos, Impues) = 0 Then Impuestos = Impuestos.ToString + "-" + Impues.ToString End If Else If Not InStr(1, Impuestos, Impues) = 0 Then Dim QuitarImpuesto = Impuestos.Split("-") Impuestos = String.Empty For Each i In QuitarImpuesto If (Not i = Impues) Then If (String.IsNullOrEmpty(Impuestos)) Then Impuestos = i Else Impuestos = Impuestos + "-" + i End If End If Next End If End If End If sql = "UPDATE [dbo].[REP0] SET [Impuestos]=@Impuestos where [CodInv]=@CodInv and [codigo]=@codigo " cmd = New SqlCommand cmd.CommandText = sql With cmd.Parameters .Add("@CodInv", SqlDbType.VarChar).Value = CodigoInv .Add("@codigo", SqlDbType.VarChar).Value = CodigoElemento .Add("@Impuestos", SqlDbType.VarChar).Value = Impuestos End With cmd.Connection = cn retorno = cmd.ExecuteNonQuery cn.Close() Return retorno End Function Public Function FiltroReportoVenta(ByRef FechaVenOperacion1 As String, ByRef FechaVenOperacion2 As String, ByRef Estado As String, ByRef Empresa As String, ByRef CasaCorredora As String) As DataSet Dim objCon As New Conexion Dim da As New SqlDataAdapter Dim ds As New DataSet Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If Dim sql = "SP_CargarReportoVentas" Dim cmd As New SqlCommand(sql, cn) cmd.CommandType = CommandType.StoredProcedure cmd.Parameters.Add("@FechaOperacion1", SqlDbType.Date).Value = Operaciones.ConvertirFechaBaseDatos(FechaVenOperacion1) cmd.Parameters.Add("@FechaOperacion2", SqlDbType.Date).Value = Operaciones.ConvertirFechaBaseDatos(FechaVenOperacion2) cmd.Parameters.Add("@Empresa", SqlDbType.VarChar).Value = Empresa cmd.Parameters.Add("@CasaCorredora", SqlDbType.VarChar).Value = CasaCorredora cmd.Parameters.Add("@Estado", SqlDbType.VarChar).Value = Estado da = New SqlDataAdapter(cmd) da.Fill(ds) cn.Close() Return ds End Function Public Function FiltroReportoCostos() As DataSet Dim objCon As New Conexion Dim da As New SqlDataAdapter Dim ds As New DataSet Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If Dim sql = "SP_CargarReportoCostos" Dim cmd As New SqlCommand(sql, cn) cmd.CommandType = CommandType.StoredProcedure da = New SqlDataAdapter(cmd) da.Fill(ds) cn.Close() Return ds End Function Public Function ReportoVentaFondo(ByRef Vigente As String, ByRef Vencido As String) As DataTable Dim objCon As New Conexion Dim da As New SqlDataAdapter Dim ds As New DataSet Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If Dim sql = "SP_CargarReportoVentaFondo" Dim cmd As New SqlCommand(sql, cn) cmd.CommandType = CommandType.StoredProcedure cmd.Parameters.Add("@Vigente", SqlDbType.VarChar).Value = Vigente cmd.Parameters.Add("@Vencido", SqlDbType.VarChar).Value = Vencido da = New SqlDataAdapter(cmd) da.Fill(ds) cn.Close() Return ds.Tables(0) End Function End Class