Public Class frmRegistroReportos Dim RegistroConsulta As New RegistrosDAO Dim Operaciones As New Operaciones Dim ReportosCalculos As New ReportosCE Const PorcentajeComisionCasa As Double = 0.2825 Const PorcentajeComisionBolsa As Double = 0.2825 Const PorcentajeComisionIOF As Double = 0.25 Dim CodEmpr = Operaciones.CodEmpr Dim CodEmis = Operaciones.CodEmis Dim CodECalRi = Operaciones.CodECalRi Dim ListaPlazo = Operaciones.ListaPlazo Dim ListaTiposMercado = Operaciones.ListaTiposMercados Dim ListaPeriodos = Operaciones.ListaPeriodos Dim ListaTipoTasa = Operaciones.ListaTipoTasa Dim ListaTipoRenta = Operaciones.ListaTipoRenta Dim ListaEstado = Operaciones.ListaEstado Dim CodPais = Operaciones.CodPais Dim ValorCambiado As Boolean = False Dim Direccion As String = String.Empty Private Sub frmRegistroReportos_Load(sender As Object, e As EventArgs) Handles MyBase.Load AgregarColumnasInv() AgregarColumnasIns() txtPosicion.Text = "1" txtConta.Text = RegistroConsulta.Contador("REPO") ValorCambiado = False CargarReporto("REPO", 1, 100) End Sub Sub AgregarColumnasInv() Dim Empresa, Instrumento, Emisor, CalRiesgo, Calif, Pais, TipoMercado, Nombre, Periodicidad, Plazo As New DataGridViewTextBoxColumn Dim CantidadPlazo, TipoRenta, TipoTasa, Numero, Fecha, Codigo, Estado As New DataGridViewTextBoxColumn Codigo.Name = "Codigo de Inversion" Empresa.Name = "Empresa" Instrumento.Name = "Instrumento" Emisor.Name = "Emisor" CalRiesgo.Name = "Calificadora Riesgo" Calif.Name = "Calificadora" Pais.Name = "Pais" TipoMercado.Name = "Tipo Mercado" Nombre.Name = "Nombre" Periodicidad.Name = "Periodicidad" CantidadPlazo.Name = "Cantidad Plazo" Plazo.Name = "Plazo" TipoRenta.Name = "Tipo de Renta" TipoTasa.Name = "Tipo de Tasa" Numero.Name = "Numero" Fecha.Name = "Fecha" Estado.Name = "Estado" dgvReportes.Columns.Add(Codigo) dgvReportes.Columns.Add(Estado) dgvReportes.Columns.Add(Empresa) dgvReportes.Columns.Add(Instrumento) dgvReportes.Columns.Add(Emisor) dgvReportes.Columns.Add(CalRiesgo) dgvReportes.Columns.Add(Calif) dgvReportes.Columns.Add(CantidadPlazo) dgvReportes.Columns.Add(Plazo) dgvReportes.Columns.Add(Fecha) dgvReportes.Columns.Add(TipoMercado) dgvReportes.Columns.Add(Pais) dgvReportes.Columns.Add(Nombre) dgvReportes.Columns.Add(Periodicidad) dgvReportes.Columns.Add(TipoTasa) dgvReportes.Columns.Add(TipoRenta) dgvReportes.Columns.Add(Numero) End Sub Sub AgregarColumnasIns() Dim ValTrans, Dias, FVen, Rend, IOF, ComisionCB, CB, OtrosCostos, TotCostos, MontoLiq, InterGen, codigo As New DataGridViewTextBoxColumn Dim CostoTransfv, RendNetoAntImp, ValReCompra, ImpLiquidacion, IngrNeto, ValNeto, RendNetoDespImp As New DataGridViewTextBoxColumn Dim PComisionC, PComisionB, PIOF, Titulo, FechaC, Casa As New DataGridViewTextBoxColumn codigo.Name = "Codigo" ValTrans.Name = "Valor Trasado" Dias.Name = "Dias" FVen.Name = "Fecha de Vencimiento" Rend.Name = "Rendimiento" IOF.Name = "IOF" ComisionCB.Name = "Comision CB" CB.Name = "Comision Bolsa" OtrosCostos.Name = "Otros Costos" TotCostos.Name = "Total Costos" MontoLiq.Name = "Monto a Liquidar" InterGen.Name = "Interes a Genrerar" CostoTransfv.Name = "Costo de Transferencia" RendNetoAntImp.Name = "R% Neto (Antes de Impuesto)" ValReCompra.Name = "Valor de ReCompra" ImpLiquidacion.Name = "Impuesto de Liquidacion" IngrNeto.Name = "Ingreso Neto" ValNeto.Name = "Valor Neto" RendNetoDespImp.Name = "R% Neto (Despues de Impuesto)" PComisionC.Name = "% Comision Casa" PComisionB.Name = "% Comision Bolsa" PIOF.Name = "% IOF" Titulo.Name = "Titulo" FechaC.Name = "Fecha de Compra" Casa.Name = "Casa" dgvReportes.Columns.Add(Casa) dgvReportes.Columns.Add(Titulo) dgvReportes.Columns.Add(FechaC) dgvReportes.Columns.Add(ValTrans) dgvReportes.Columns.Add(Dias) dgvReportes.Columns.Add(FVen) dgvReportes.Columns.Add(Rend) dgvReportes.Columns.Add(ComisionCB) dgvReportes.Columns.Add(CB) dgvReportes.Columns.Add(IOF) dgvReportes.Columns.Add(OtrosCostos) dgvReportes.Columns.Add(TotCostos) dgvReportes.Columns.Add(MontoLiq) dgvReportes.Columns.Add(InterGen) dgvReportes.Columns.Add(CostoTransfv) dgvReportes.Columns.Add(RendNetoAntImp) dgvReportes.Columns.Add(ValReCompra) dgvReportes.Columns.Add(ImpLiquidacion) dgvReportes.Columns.Add(IngrNeto) dgvReportes.Columns.Add(ValNeto) dgvReportes.Columns.Add(RendNetoDespImp) dgvReportes.Columns.Add(codigo) dgvReportes.Columns.Add(PComisionC) dgvReportes.Columns.Add(PComisionB) dgvReportes.Columns.Add(PIOF) End Sub Sub CargarReporto(ByVal Cod As String, ByVal Inicio As Integer, ByVal Final As Integer) Dim CodigoEmpresa As String = " " Dim CodigoEmisor As String = " " Dim CodigoECal As String = " " Dim PlazoF As String = " " Dim TiposMercado As String = " " Dim Pais As String = " " Dim Periodos As String = " " Dim TipoTasa As String = " " Dim TipoRenta As String = " " Dim Estado As String = " " Dim codigo As String = Variables.Codigo Dim dr = RegistroConsulta.CargarInv(Cod, Inicio, Final) While dr.Read For Each pair In CodEmpr If (pair.Key.ToString = dr("CodEmpr").ToString) Then CodigoEmpresa = pair.Value Exit For ElseIf (String.IsNullOrEmpty(dr("CodEmpr").ToString)) Then CodigoEmpresa = " ---- ---- ---- ---- " Exit For End If Next For Each pair In CodEmis If (pair.Key.ToString = dr("CodEmis").ToString) Then CodigoEmisor = pair.Value Exit For ElseIf (String.IsNullOrEmpty(dr("CodEmis").ToString)) Then CodigoEmisor = " ---- ---- ---- ---- " Exit For End If Next For Each pair In CodECalRi If (pair.Key.ToString = dr("CodECalRi").ToString) Then CodigoECal = pair.Value Exit For ElseIf (String.IsNullOrEmpty(dr("CodECalRi").ToString)) Then CodigoECal = " ---- ---- ---- ---- " Exit For End If Next For Each pair In ListaPlazo If (pair.Key.ToString = dr("PlazoFact").ToString) Then PlazoF = pair.Value Exit For ElseIf (String.IsNullOrEmpty(dr("PlazoFact").ToString)) Then PlazoF = " ---- ---- ---- ---- " Exit For End If Next For Each pair In ListaTiposMercado If (pair.Key.ToString = dr("TipoMerc").ToString) Then TiposMercado = pair.Value Exit For ElseIf (String.IsNullOrEmpty(dr("TipoMerc").ToString)) Then TiposMercado = " ---- ---- ---- ---- " Exit For End If Next For Each pair In CodPais If (pair.Key.ToString = dr("CodPais").ToString) Then Pais = pair.Value Exit For ElseIf (String.IsNullOrEmpty(dr("CodPais").ToString)) Then Pais = " ---- ---- ---- ---- " Exit For End If Next For Each pair In ListaPeriodos If (pair.Key.ToString = dr("Periodicidad").ToString) Then Periodos = pair.Value Exit For ElseIf (String.IsNullOrEmpty(dr("Periodicidad").ToString)) Then Periodos = " ---- ---- ---- ---- " Exit For End If Next For Each pair In ListaTipoTasa If (pair.Key.ToString = dr("TipTasa").ToString) Then TipoTasa = pair.Value Exit For ElseIf (String.IsNullOrEmpty(dr("TipTasa").ToString)) Then TipoTasa = " ---- ---- ---- ---- " Exit For End If Next For Each pair In ListaTipoRenta If (pair.Key.ToString = dr("TipRenta").ToString) Then TipoRenta = pair.Value Exit For ElseIf (String.IsNullOrEmpty(dr("TipRenta").ToString)) Then TipoRenta = " ---- ---- ---- ---- " Exit For End If Next For Each pair In ListaEstado If (pair.Key.ToString = dr("DocEst").ToString) Then Estado = pair.Value Exit For ElseIf (String.IsNullOrEmpty(dr("DocEst").ToString)) Then Estado = " ---- ---- ---- ---- " Exit For End If Next 'Dim ComisionCasa = ReportosCalculos.Comision(dr("ValTrans"), dr("Dias"), PorcentajeComisionCasa) 'Dim ComisionBolsa = ReportosCalculos.Comision(dr("ValTrans"), dr("Dias"), PorcentajeComisionBolsa) 'Dim IOF = ReportosCalculos.IOF(dr("ValTrans"), ComisionCasa, ComisionBolsa, dr("Dias"), PorcentajeComisionIOF) 'Dim TotalCostos = ReportosCalculos.TotCostos(ComisionCasa, ComisionBolsa, IOF, 0) ''Dim MontoLiq = ReportosCalculos.MontoLiquidacion(dr("ValTrans"), TotalCostos) 'Dim InteresGenerar = ReportosCalculos.InteresGenerar(dr("ValTrans"), dr("Rend"), dr("Dias")) 'Dim RendimientoAntes = ReportosCalculos.RendimientoAntes(InteresGenerar, TotalCostos, dr("ValTrans"), dr("Dias")) 'Dim ValorRecompra = ReportosCalculos.ValorRecompras(dr("ValTrans"), InteresGenerar) 'Dim Renta = ReportosCalculos.Renta(InteresGenerar, 0.1) 'Dim IngresoNeto = ReportosCalculos.IngresoNet(InteresGenerar, Renta) 'Dim ValorNeto = ReportosCalculos.ValorNet(dr("ValTrans"), IngresoNeto, dr("CostoTransfr")) 'Dim RendimientoDespues = ReportosCalculos.RendimientoDespues(IngresoNeto, TotalCostos, dr("ValTrans"), dr("Dias")) 'dgvReportes.Rows.Add(dr("CodInv"), Estado, CodigoEmpresa, "Reportos", CodigoEmisor, dr("CodCalRi"), CodigoECal, dr("Plazo"), PlazoF, dr("FechaDoc"), TiposMercado, Pais, dr("NombreManIF"), Periodos, TipoTasa, TipoRenta, dr("NumManInv"), "", dr("Nombre"), dr("FCompra"), dr("ValTrans"), dr("Dias"), dr("FVenc"), dr("Rend"), ComisionCasa, ComisionBolsa, IOF, 0, TotalCostos, MontoLiq, InteresGenerar, dr("CostoTransfr"), RendimientoAntes, ValorRecompra, Renta, IngresoNeto, ValorNeto, RendimientoDespues, "", PorcentajeComisionCasa, PorcentajeComisionBolsa, PorcentajeComisionIOF) End While End Sub Private Sub navSiguienteRegistro_Click(sender As Object, e As EventArgs) Direccion = "D" Mover(Direccion) ValorCambiado = False End Sub Sub Mover(ByVal Direccion As String) Dim ReferenciaD = txtPosicion.Text + 1 Dim ReferenciaI = txtPosicion.Text - 1 Dim Cantidad = txtConta.Text Dim ValorExacto = txtPosicion.Text Dim Inicio, Final As Integer If (Direccion = "D") Then If (Cantidad >= ValorExacto) Then dgvReportes.Rows.Clear() If (Not ValorCambiado) Then txtPosicion.Text = ReferenciaD ValorCambiado = False End If Inicio = txtPosicion.Text - 1 Inicio = Inicio * 100 Final = Inicio + 100 CargarReporto("REPO", Inicio, Final) Else MsgBox("Rango Fuera de Valor") End If ElseIf (Direccion = "I") Then If (ReferenciaI >= 1) Then dgvReportes.Rows.Clear() If (Not ValorCambiado) Then If (Not ValorExacto = 1) Then txtPosicion.Text = ReferenciaI End If Else ValorCambiado = False End If Inicio = txtPosicion.Text - 1 Inicio = Inicio * 100 Final = Inicio + 100 CargarReporto("REPO", Inicio, Final) Else MsgBox("Rango Fuera de Valor") End If ElseIf (Direccion = "SD") Then Final = txtConta.Text * 100 Inicio = Final - 100 dgvReportes.Rows.Clear() CargarReporto("REPO", Inicio, Final) txtPosicion.Text = Cantidad ElseIf (Direccion = "SI") Then Final = 100 Inicio = Final - 100 dgvReportes.Rows.Clear() CargarReporto("REPO", Inicio, Final) txtPosicion.Text = 1 End If End Sub Private Sub navRegistroAnterior_Click(sender As Object, e As EventArgs) Handles navRegistroAnterior.Click Direccion = "I" Mover(Direccion) ValorCambiado = False End Sub Private Sub txtPosicion_TextChanged(sender As Object, e As EventArgs) Handles txtPosicion.TextChanged ValorCambiado = True End Sub Private Sub navUltimoRegistro_Click(sender As Object, e As EventArgs) Handles navUltimoRegistro.Click Direccion = "SD" Mover(Direccion) ValorCambiado = False End Sub Private Sub navPrimerRegistro_Click(sender As Object, e As EventArgs) Handles navPrimerRegistro.Click Direccion = "SI" Mover(Direccion) ValorCambiado = False End Sub End Class