| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563 |
- Public Class frmRegistroLetes
- Dim RegistroConsulta As New RegistrosDAO
- Dim Operaciones As New Operaciones
- 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 ListaCasasCorredoras = Operaciones.ListaCasasCorredoras
- Dim CodPais = Operaciones.CodPais
- Dim ValorCambiado As Boolean = False
- Dim Direccion As String = String.Empty
- Dim CodigoInstrumento As String = Variables.CodigoInstrumento
- Dim tablas As String
- Private Sub frmRegistroLetes_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- If (CodigoInstrumento = "LETE") Then
- tablas = "LET0"
- ElseIf (CodigoInstrumento = "PBUR") Then
- tablas = "PBUR"
- ElseIf (CodigoInstrumento = "VCN") Then
- tablas = "VCN"
- End If
- AgregarColumnasInv()
- AgregarColumnasIns()
- txtPosicion.Text = "1"
- txtConta.Text = RegistroConsulta.Contador(tablas)
- ValorCambiado = False
- Cargar(CodigoInstrumento, 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"
- dgvLETES.Columns.Add(Codigo)
- dgvLETES.Columns.Add(Estado)
- dgvLETES.Columns.Add(Empresa)
- dgvLETES.Columns.Add(Instrumento)
- dgvLETES.Columns.Add(Emisor)
- dgvLETES.Columns.Add(CalRiesgo)
- dgvLETES.Columns.Add(Calif)
- dgvLETES.Columns.Add(CantidadPlazo)
- dgvLETES.Columns.Add(Plazo)
- dgvLETES.Columns.Add(Fecha)
- dgvLETES.Columns.Add(TipoMercado)
- dgvLETES.Columns.Add(Pais)
- dgvLETES.Columns.Add(Nombre)
- dgvLETES.Columns.Add(Periodicidad)
- dgvLETES.Columns.Add(TipoTasa)
- dgvLETES.Columns.Add(TipoRenta)
- dgvLETES.Columns.Add(Numero)
- End Sub
- Sub AgregarColumnasIns()
- Dim ValorNo, FechaOpe, FechaLiq, FechaVenc, PlazoInv, Casa, ComCasa, PorComCasa, ComBolsa, PorComBolsa, Periodicidad As New DataGridViewTextBoxColumn
- Dim Base, RendBruto, RendNeto, IngBruto, IngNeto, ValorTra, Precio, TotPagar As New DataGridViewTextBoxColumn
- ValorNo.Name = "Valor Nominal"
- FechaOpe.Name = "Fecha de Operacion"
- FechaLiq.Name = "Fecha de Liquidación"
- FechaVenc.Name = "Fecha de Vencimiento"
- PlazoInv.Name = "Plazo de Inversión"
- Casa.Name = "Casa Corredora"
- ComCasa.Name = "Comisión Casa"
- PorComCasa.Name = "Porcentaje Comisión Casa"
- ComBolsa.Name = "Comision Bolsa"
- PorComBolsa.Name = "Porcentaje Comisión Bolsa"
- Periodicidad.Name = "Periodicidad"
- Base.Name = "Dias Base"
- RendBruto.Name = "Rendimiento Bruto"
- RendNeto.Name = "Rendimiento Neto"
- IngBruto.Name = "Ingreso Bruto"
- IngNeto.Name = "Ingreso Neto"
- ValorTra.Name = "Valor Trasado"
- Precio.Name = "Precio"
- TotPagar.Name = "Total a Pagar"
- dgvLETES.Columns.Add(ValorNo)
- dgvLETES.Columns.Add(FechaOpe)
- dgvLETES.Columns.Add(FechaLiq)
- dgvLETES.Columns.Add(FechaVenc)
- dgvLETES.Columns.Add(PlazoInv)
- dgvLETES.Columns.Add(Casa)
- dgvLETES.Columns.Add(ComCasa)
- dgvLETES.Columns.Add(PorComCasa)
- dgvLETES.Columns.Add(ComBolsa)
- dgvLETES.Columns.Add(PorComBolsa)
- dgvLETES.Columns.Add(Periodicidad)
- dgvLETES.Columns.Add(Base)
- dgvLETES.Columns.Add(RendBruto)
- dgvLETES.Columns.Add(RendNeto)
- dgvLETES.Columns.Add(IngBruto)
- dgvLETES.Columns.Add(IngNeto)
- dgvLETES.Columns.Add(ValorTra)
- dgvLETES.Columns.Add(Precio)
- dgvLETES.Columns.Add(TotPagar)
- End Sub
- Sub Cargar(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 Periodos2 As String = " "
- Dim TipoTasa As String = " "
- Dim TipoRenta As String = " "
- Dim Estado As String = " "
- Dim CasasCorredoras As String = " "
- Dim codigo As String = Variables.Codigo
- Dim RendNeto As String = ""
- Dim Prec As String = ""
- Dim ValTrasado As String = ""
- Dim CCasa As String = ""
- Dim CBolsa As String = ""
- Dim IngBruto As String = ""
- Dim TotPagar As String = ""
- Dim IngNeto As String = ""
- Dim Instrumento As String = ""
- Dim dr
- If (CodigoInstrumento = "LETE") Then
- Instrumento = "LETES"
- ElseIf (CodigoInstrumento = "PBUR") Then
- Instrumento = "PAPEL BURSATIL"
- ElseIf ((CodigoInstrumento = "VCN")) Then
- Instrumento = "Valores Comerciales"
- End If
- If (CodigoInstrumento = "LETE") Then
- dr = RegistroConsulta.CargarInvLETE(Cod, Inicio, Final)
- ElseIf (CodigoInstrumento = "PBUR") Then
- dr = RegistroConsulta.CargarInvPBUR(Cod, Inicio, Final)
- ElseIf (CodigoInstrumento = "VCN") Then
- dr = RegistroConsulta.CargarInvVCN(Cod, Inicio, Final)
- End If
- While dr.Read
- Dim VRenBruto, VPlazo, VAnioBase, VValNom, VComisionCasa, VComisionBolsa
- VRenBruto = dr("RendBruto").ToString
- VPlazo = dr("Plazo").ToString
- VAnioBase = dr("AnioBase").ToString
- VValNom = dr("ValNom").ToString
- VComisionCasa = dr("ComisionCasa").ToString
- VComisionBolsa = dr("ComisionBolsa").ToString
- If (String.IsNullOrEmpty(VRenBruto)) Then
- VRenBruto = 0
- End If
- If (String.IsNullOrEmpty(VPlazo)) Then
- VPlazo = 0
- End If
- If (String.IsNullOrEmpty(VAnioBase)) Then
- VAnioBase = 365
- End If
- If (String.IsNullOrEmpty(VValNom)) Then
- VValNom = 0
- End If
- If (String.IsNullOrEmpty(VComisionCasa)) Then
- VComisionCasa = 0
- End If
- If (String.IsNullOrEmpty(VComisionBolsa)) Then
- VComisionBolsa = 0
- End If
- Prec = Precio(VRenBruto, VPlazo, VAnioBase)
- ValTrasado = ValorTrasado(VValNom, Prec)
- CCasa = ComisionCalculo(ValTrasado, VComisionCasa, VPlazo, VAnioBase)
- CBolsa = ComisionCalculo(ValTrasado, VComisionBolsa, VPlazo, VAnioBase)
- IngBruto = IngresoBruto(VValNom, ValTrasado)
- TotPagar = TotalPagar(ValTrasado, CCasa, CBolsa)
- IngNeto = IngresoNeto(VValNom, TotPagar)
- RendNeto = RendimientoNeto(VValNom, TotPagar, VPlazo, VAnioBase)
- 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
- ElseIf (String.IsNullOrEmpty(dr("Periodicidad").ToString)) Then
- Periodos = " ---- ---- ---- ---- "
- End If
- If (pair.Key.ToString = dr("Periodic").ToString) Then
- Periodos2 = pair.Value
- ElseIf (String.IsNullOrEmpty(dr("Periodic").ToString)) Then
- Periodos2 = " ---- ---- ---- ---- "
- 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
- For Each pair In ListaCasasCorredoras
- If (pair.Key.ToString = dr("CasasCorredoras").ToString) Then
- CasasCorredoras = pair.Value
- Exit For
- ElseIf (String.IsNullOrEmpty(dr("CasasCorredoras").ToString)) Then
- CasasCorredoras = " ---- ---- ---- ---- "
- Exit For
- End If
- Next
- '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)
- dgvLETES.Rows.Add(dr("CodInv"), Estado, CodigoEmpresa, Instrumento, CodigoEmisor, dr("CodCalRi"), CodigoECal, dr("Plazo"), PlazoF, dr("FechaDoc"), TiposMercado, Pais, dr("NombreManIF"), Periodos, TipoTasa, TipoRenta, dr("NumManInv"), dr("ValNom"), dr("FOper"), dr("FLiq"), dr("FVenc"), dr("Plazo"), CasasCorredoras, dr("ComisionCasa"), CCasa, dr("ComisionBolsa"), CBolsa, Periodos2, dr("AnioBase"), dr("RendBruto"), RendNeto, IngBruto, IngNeto, ValTrasado, Prec, TotPagar)
- End While
- End Sub
- Function ValorTrasado(ByVal ValorNominal As Double, ByVal Precio As Double)
- If (Double.TryParse(ValorNominal, Nothing) And Double.TryParse(Precio, Nothing)) Then
- Return CDec(ValorNominal) * CDec(Precio)
- End If
- Return Nothing
- End Function
- Function Precio(ByVal RendimientoBruto As Double, ByVal PlazoInversion As Double, ByVal AnioBase As Integer)
- If (Double.TryParse(RendimientoBruto, Nothing) And Double.TryParse(PlazoInversion, Nothing)) Then
- Dim DatosOperacion As Double
- If (AnioBase = 0) Then
- AnioBase = 365
- End If
- Dim Rendimiento = CDec(RendimientoBruto)
- Dim Plazo = CDec((PlazoInversion))
- DatosOperacion = (1 - (Rendimiento / (1 + Rendimiento * Plazo / AnioBase)) * Plazo / AnioBase)
- Return DatosOperacion
- End If
- Return Nothing
- End Function
- Function ComisionCalculo(ByVal ValorTras As Double, ByVal ComisionDeCasa As Double, ByVal PlazoInversion As Double, ByVal AnioBase As Integer)
- If (Double.TryParse(ValorTras, Nothing) And Double.TryParse(ComisionDeCasa, Nothing) And Double.TryParse(PlazoInversion, Nothing)) Then
- Dim comision = (CDec(ValorTras) * CDec(ComisionDeCasa)) * (CDec(PlazoInversion) / AnioBase)
- Return comision
- End If
- Return Nothing
- End Function
- Function RendimientoNeto(ByVal ValorNominal As Double, ByVal TotalPagar As Double, ByVal PlazoInversion As Integer, ByVal AnioBase As Integer)
- If (Double.TryParse(ValorNominal, Nothing) And Double.TryParse(TotalPagar, Nothing) And Double.TryParse(PlazoInversion, Nothing)) Then
- If CDec(TotalPagar) = 0 Or CDec(PlazoInversion) = 0 Then
- Return 0
- End If
- Dim RendimientoNet = ((CDec(ValorNominal) - CDec(TotalPagar)) / CDec(TotalPagar)) * (AnioBase / CDec(PlazoInversion))
- Return RendimientoNet
- End If
- Return Nothing
- End Function
- Function IngresoBruto(ByVal ValorNominal As Double, ByVal ValorTrasado As Double)
- If (Double.TryParse(ValorNominal, Nothing) And Double.TryParse(ValorTrasado, Nothing)) Then
- Dim Bruto = CDec(ValorNominal) - CDec(ValorTrasado)
- Return Bruto
- End If
- Return Nothing
- End Function
- Function IngresoNeto(ByVal ValorNominal As Double, ByVal TotalPagar As Double)
- If (Double.TryParse(ValorNominal, Nothing) And Double.TryParse(TotalPagar, Nothing)) Then
- Dim Neto = CDec(ValorNominal) - CDec(TotalPagar)
- Return Neto
- End If
- Return Nothing
- End Function
- Function TotalPagar(ByVal ValorTrasado As Double, ByVal ComisionCasa As Double, ByVal ComisionBolsa As Double)
- If (Double.TryParse(ValorTrasado, Nothing) And Double.TryParse(ComisionCasa, Nothing) And Double.TryParse(ComisionBolsa, Nothing)) Then
- Dim Total = CDec(ValorTrasado) + CDec(ComisionCasa) + CDec(ComisionBolsa)
- Return Total
- End If
- Return Nothing
- End Function
- 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
- dgvLETES.Rows.Clear()
- If (Not ValorCambiado) Then
- txtPosicion.Text = ReferenciaD
- ValorCambiado = False
- End If
- Inicio = txtPosicion.Text - 1
- Inicio = Inicio * 100
- Final = Inicio + 100
- Cargar(CodigoInstrumento, Inicio, Final)
- Else
- MsgBox("Rango Fuera de Valor")
- End If
- ElseIf (Direccion = "I") Then
- If (ReferenciaI >= 1) Then
- dgvLETES.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
- Cargar(CodigoInstrumento, Inicio, Final)
- Else
- MsgBox("Rango Fuera de Valor")
- End If
- ElseIf (Direccion = "SD") Then
- Final = txtConta.Text * 100
- Inicio = Final - 100
- dgvLETES.Rows.Clear()
- Cargar(CodigoInstrumento, Inicio, Final)
- txtPosicion.Text = Cantidad
- ElseIf (Direccion = "SI") Then
- Final = 100
- Inicio = Final - 100
- dgvLETES.Rows.Clear()
- Cargar(CodigoInstrumento, 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
- Private Sub RichTextBox1_TextChanged(sender As Object, e As EventArgs)
- End Sub
- End Class
|