Imports System.Globalization Public Class frmLetes Dim oCELetes As LETESCE Dim oDAOLetes As New LETESDAO Dim oDAOGeneral As New DAOGeneral Dim IndexBase As Integer = 0 Dim TipoTransaccion = "OK" Dim Operaciones As New Operaciones Dim V_txtPrecio = 0.0, V_txtValorTransado = 0.0, V_txtComisionCasa = 0.0, V_txtComisionBolsa = 0.0, V_txtIngresoBruto = 0.0, V_txtTotalAPagar = 0.0, V_txtIngresoNeto = 0.0, V_txtRendimientoNeto = 0.0, V_txtDiasAcumulados = 0.0 Dim DecimalesRedondeo As Integer = 4 Private CodigoInversion As String Dim Instrumento As String Private _Modo As String Private _IdDocumento As Integer Private _TipoDocumento As String Private _ValorNominal As Double Private _ValorTransado As Double Private _Precio As Double Private _PorcentajeCasa As Double Private _ComisionCasa As Double Private _PorcentajeBolsa As Double Private _ComisionBolsa As Double Private _TotalAPagar As Double Private _FechaOperacion As Date Private _FechaLiquidacion As Date Private _FechaVencimiento As Date Private _RendimientoBruto As Double Private _RendimientoNeto As Double Private _Periodicidad As String Private _Plazo As Integer Private _IngresoBruto As Double Private _IngresoNeto As Double Private PBUR As Double = False Private VCN As Double = False Private CET As Double = False Public Property Modo As String Get Return _Modo End Get Set(value As String) _Modo = value End Set End Property Private Property IdDocumento As Integer Get Return _IdDocumento End Get Set(value As Integer) _IdDocumento = value End Set End Property Private Property TipoDocumento As String Get Return _TipoDocumento End Get Set(value As String) _TipoDocumento = value End Set End Property 'GETS Function GetFechaOperacion() As Date Dim valor As Date valor = dtpFechaOperacion.Value Return valor End Function Function GetFechaLiquidacion() As Date Dim valor As Date valor = dtpFechaLiquidacion.Value Return valor End Function Function GetPlazoInversion() As Integer Dim valor As Integer If Me.txtPlazoInversion.Text.Length = 0 Then valor = 0 Else valor = Me.txtPlazoInversion.Text End If Return valor End Function Function GetValorNominal() As Double Dim valor As Double If Me.txtValorNominal.Text.Length = 0 Then valor = 0 Else valor = Me.txtValorNominal.Text End If Return valor End Function Function GetPrecio() As Double Dim valor As Double If Me.txtPrecio.Text.Length = 0 Then valor = 0 Else Try valor = Me.txtPrecio.Text valor = valor / 100 Catch ex As Exception valor = 0 End Try End If Return valor End Function Function GetValorTransado() As Double Dim valor As Double If Me.txtValorTransado.Text.Length = 0 Then valor = 0 Else valor = Me.txtValorTransado.Text End If Return valor End Function Function GetComisionBolsa() As Double Dim valor As Double If Me.txtComisionBolsa.Text.Length = 0 Then valor = 0 Else valor = Me.txtComisionBolsa.Text End If Return valor End Function Function GetComisionCasa() As Double Dim valor As Double If Me.txtComisionCasa.Text.Length = 0 Then valor = 0 Else valor = Me.txtComisionCasa.Text End If Return valor End Function Function GetTotalAPagar() As Double Dim valor As Double If Me.txtTotalAPagar.Text.Length = 0 Then valor = 0 Else valor = Me.txtTotalAPagar.Text End If Return valor End Function Function GetPeriodicidad() As String Dim valor As String Try valor = Me.cboPeriodicidad.SelectedValue Catch ex As Exception valor = "" End Try Return valor End Function Function GetCasa() As String Dim valor As String valor = Me.cboCasasCorredoras.SelectedValue Return valor End Function 'CALCULOS Function CalcularFechaLiquidacion() As Date Dim valor As Date valor = GetFechaOperacion() Return valor End Function Function CalcularFechaVencimiento() As Date Dim valor As Date valor = GetFechaLiquidacion() Return valor End Function Function CalcularValorTransado() As Double Dim valor As Double valor = GetValorNominal() * GetPrecio() valor = Math.Round(valor, DecimalesRedondeo) Return valor End Function Function CalcularValorApagar() As Double Dim valor As Double valor = GetValorTransado() + GetComisionBolsa() + GetComisionCasa() valor = Math.Round(valor, DecimalesRedondeo) Return valor End Function Function CalcularIngresoBruto() As Double Dim valor As Double valor = GetValorNominal() - GetValorTransado() valor = Math.Round(valor, DecimalesRedondeo) Return valor End Function Function CalcularIngresoNeto() As Double Dim valor As Double valor = GetValorNominal() - GetTotalAPagar() valor = Math.Round(valor, DecimalesRedondeo) Return valor End Function 'AUTO Sub RefrescarPlazoInversion() Me.txtPlazoInversion.Text = 0 End Sub Sub RefrescarPrecio() Me.txtPrecio.Text = 0 End Sub Sub RefrescarTotalAPagar() Me.txtTotalAPagar.Text = CalcularValorApagar() End Sub 'EVENTOS Private Sub Button1_Click(sender As Object, e As EventArgs) RefrescarPlazoInversion() End Sub Private Sub txtRendimientoBruto_TextChanged(sender As Object, e As EventArgs) If Modo = "N" Then RefrescarPrecio() End If End Sub Private Sub txtPlazoInversion_TextChanged(sender As Object, e As EventArgs) Handles txtRendimientoBruto.TextChanged, txtPlazoInversion.TextChanged RellenarDatos() End Sub Private Sub dtpFechaVencimiento_ValueChanged(sender As Object, e As EventArgs) Handles dtpFechaVencimiento.ValueChanged End Sub Private Sub dtpFechaLiquidacion_ValueChanged(sender As Object, e As EventArgs) Handles dtpFechaLiquidacion.ValueChanged RellenarDatos() End Sub Private Sub dtpFechaOperacion_ValueChanged(sender As Object, e As EventArgs) Handles dtpFechaOperacion.ValueChanged RellenarDatos() AgregarDiasExtra() End Sub Private Sub txtValorNominal_TextChanged(sender As Object, e As EventArgs) Handles txtValorNominal.TextChanged RellenarDatos() End Sub Private Sub txtPrecio_TextChanged(sender As Object, e As EventArgs) Handles txtPrecio.TextChanged End Sub Private Sub txtPorcentajeComisionCasa_TextChanged(sender As Object, e As EventArgs) Handles txtPorcentajeComisionCasa.TextChanged RellenarDatos() End Sub Private Sub txtPorcentajeComisionBolsa_TextChanged(sender As Object, e As EventArgs) Handles txtPorcentajeComisionBolsa.TextChanged RellenarDatos() End Sub Private Sub txtValorTransado_TextChanged(sender As Object, e As EventArgs) Handles txtValorTransado.TextChanged End Sub Private Sub txtComisionCasa_TextChanged(sender As Object, e As EventArgs) Handles txtComisionCasa.TextChanged If Modo = "N" Then RefrescarTotalAPagar() End If End Sub Private Sub txtComisionBolsa_TextChanged(sender As Object, e As EventArgs) Handles txtComisionBolsa.TextChanged If Modo = "N" Then RefrescarTotalAPagar() End If End Sub Private Sub txtTotalAPagar_TextChanged(sender As Object, e As EventArgs) Handles txtTotalAPagar.TextChanged End Sub Sub ValidarExistencia() Dim General As New DAOGeneral Dim Codigo As String = Variables.Codigo Dim Tabla As String = String.Empty If PBUR Then Tabla = "PBUR" ElseIf VCN Then Tabla = "VCN" ElseIf CET Then Tabla = "CET0" Else Tabla = "LET0" End If Dim Existe As Boolean = General.ExisteTitulo(Codigo, Tabla) If (Existe) Then navNuevo.Enabled = False navModificar.Enabled = True navEliminar.Enabled = True Else navNuevo.Enabled = True navModificar.Enabled = False navEliminar.Enabled = False End If TipoTransaccion = String.Empty btnAceptar.Text = "Aceptar" End Sub Function ExisteValidacion() Dim General As New DAOGeneral Dim Codigo As String = Variables.Codigo Dim Tabla As String = String.Empty If PBUR Then Tabla = "PBUR" ElseIf VCN Then Tabla = "VCN" ElseIf CET Then Tabla = "CET0" Else Tabla = "LET0" End If Dim Existe As Boolean = General.ExisteTitulo(Codigo, Tabla) Return Existe End Function Private Sub frmLetes_Load(sender As Object, e As EventArgs) Handles MyBase.Load TipInstrumento() Me.ActiveControl = Me.txtValorNominal Call CargarCasasCorredoras() Call CargarBase() Call CargarPeriodicidad() If Variables.Codigo.IndexOf("LETE") > -1 Then Instrumento = "LETE" ElseIf Variables.Codigo.IndexOf("PBUR") > -1 Then Instrumento = "PBUR" lblBono.Text = "PAPEL BURSATIL" Me.Text = "PAPEL BURSATIL" lblInteresAcumulado.Visible = True lblDiasAcumulados.Visible = True dtpUltimaFecha.Visible = True txtInteresAcumulado.Visible = True chbValorPar.Visible = True ElseIf Variables.Codigo.IndexOf("CETE") > -1 Then Instrumento = "CETE" lblBono.Text = "CETES" Me.Text = "CETE" lblInteresAcumulado.Visible = True lblDiasAcumulados.Visible = True dtpUltimaFecha.Visible = True txtInteresAcumulado.Visible = True ConfiguracionCETE() ElseIf Variables.Codigo.IndexOf("VCN") > -1 Then Instrumento = "VCN" lblBono.Text = "VALORES COMERCIALES" Me.Text = "VALORES COMERCIALES" lblInteresAcumulado.Visible = True lblDiasAcumulados.Visible = True lblOtrosCostos.Visible = True dtpUltimaFecha.Visible = True txtInteresAcumulado.Visible = True txtOtrosCostos.Visible = True chbValorPar.Visible = True Else Instrumento = "NADA" End If CargarReg(Instrumento) Call CargarRegistroBD() SetPeriodicidad() AgregarPorcentaje() Rellenar() ExisteInversion() ValidarExistencia() CargarTransladoNuevo() End Sub Sub TipInstrumento() If Variables.Codigo.IndexOf("PBUR") > -1 Then PBUR = True End If If Variables.Codigo.IndexOf("VCN") > -1 Then VCN = True End If If Variables.Codigo.IndexOf("CETE") > -1 Then CET = True End If End Sub Sub SetPeriodicidad() If String.IsNullOrEmpty(Variables.Periodicidad) Then cboPeriodicidad.SelectedValue = "M" Else cboPeriodicidad.SelectedValue = Variables.Periodicidad End If End Sub Function ExisteInversion() Dim Codigo As String = Variables.Codigo Dim TablaINV As String = "INV0" Dim TablaPINV As String = "PIN0" Dim General As New DAOGeneral Dim InvPro = Variables.InvPro If InvPro = "I" Then Dim INV0 As Boolean = General.ExisteTitulo(Codigo, TablaINV) If INV0 Then navNuevo.Visible = True Return True Else navNuevo.Visible = False Return False End If End If If InvPro = "P" Then Dim PINV0 As Boolean = General.ExisteTitulo(Codigo, TablaPINV) If PINV0 Then navNuevo.Visible = True Return True Else navNuevo.Visible = False Return False End If End If Return False End Function Sub ConfiguracionCETE() txtPrecio.Text = "100%" End Sub Private Sub CargarReg(Instrumento) Dim Letes As New LETESDAO Dim Base As Integer = 0 Dim dat = Letes.Cargar(Variables.Codigo, Instrumento) If (Not dat(1).ToString = "False") Then txtValorNominal.Text = dat(1) dtpFechaOperacion.Value = dat(2) dtpFechaLiquidacion.Value = dat(3) txtPlazoInversion.Text = dat(4) If (String.IsNullOrEmpty(txtRendimientoBruto.Text)) Then txtRendimientoBruto.Text = 0 txtRendimientoBruto.Text = CStr(Format((txtRendimientoBruto.Text), "0.00")) + "%" Else txtRendimientoBruto.Text = CStr(dat(5) * 100) + "%" End If cboCasasCorredoras.SelectedValue = dat(6) cboPeriodicidad.SelectedValue = dat(7) If (dat(8) = 0) Then Base = 0 ElseIf (dat(8) = 1) Then Base = 1 ElseIf (dat(8) = 2) Then Base = 2 ElseIf (dat(8) = 3) Then Base = 3 End If cboBase.SelectedIndex = Base If (String.IsNullOrEmpty(dat(9).ToString)) Then txtPorcentajeComisionCasa.Text = 0 txtPorcentajeComisionCasa.Text = Format(((txtPorcentajeComisionCasa.Text.Trim("%")) * 100), "0.00").ToString + "%" Else txtPorcentajeComisionCasa.Text = CStr(dat(9) * 100) + "%" End If If (String.IsNullOrEmpty(dat(10).ToString)) Then txtPorcentajeComisionBolsa.Text = "0.0" txtPorcentajeComisionBolsa.Text = Format((txtPorcentajeComisionBolsa.Text.Trim("%")) * 100, "0.00").ToString + "%" Else txtPorcentajeComisionBolsa.Text = CStr(dat(10) * 100) + "%" End If If (Not String.IsNullOrEmpty(dat(12).ToString)) Then cboCasasCorredoras.SelectedValue = dat(12) End If If (PBUR Or VCN) Then If (Not String.IsNullOrEmpty(dat(13).ToString)) Then chbValorPar.Checked = CBool(dat(13)) End If If (Not String.IsNullOrEmpty(dat(14).ToString)) Then dtpUltimaFecha.Value = CDate(dat(14)) End If ElseIf CET Then If (Not String.IsNullOrEmpty(dat(13).ToString)) Then dtpUltimaFecha.Value = CDate(dat(13)) End If End If If VCN Then If (String.IsNullOrEmpty(dat(15).ToString)) Then txtOtrosCostos.Text = "0.0" Else txtOtrosCostos.Text = CDec(dat(15)) End If End If End If End Sub Private Sub Modificar(ByVal Instrumento As String) Dim ValNom = txtValorNominal.Text Dim FOpe = dtpFechaOperacion.Value Dim FLiq = dtpFechaLiquidacion.Value Dim RendBruto = txtRendimientoBruto.Text.Trim("%") / 100 Dim Plazo = txtPlazoInversion.Text Dim PorcentajeComisionCasa = txtPorcentajeComisionCasa.Text.Trim("%") / 100 Dim PorcentajeComisionBolsa = txtPorcentajeComisionBolsa.Text.Trim("%") / 100 Dim ValTrans As Double = txtValorTransado.Text Dim Precio As Double = CDec(txtPrecio.Text.ToString.Trim("%") / 100) Dim TotPagar As Double = txtTotalAPagar.Text Dim RendNeto As Double = CDec(txtRendimientoNeto.Text.ToString.Trim("%")) / 100 Dim IngrBruto As Double = txtIngresoBruto.Text Dim IngrNeto As Double = txtIngresoNeto.Text Dim ComisionCasaValor As Double = txtComisionCasa.Text Dim ComisionBolsaValor As Double = txtComisionBolsa.Text Dim FUlt As Date = dtpUltimaFecha.Value Dim FRed As Date = dtpRedencion.Value Dim FVenc As Date = dtpFechaVencimiento.Value Dim IntAcumulado As Double = CDec(txtInteresAcumulado.Text.ToString.Trim("%") / 100) Dim OtrosCostos As Double = txtOtrosCostos.Text Dim periodo If Not cboPeriodicidad.SelectedIndex = -1 Then periodo = cboPeriodicidad.SelectedValue Else periodo = DBNull.Value End If Dim Casas If Not cboCasasCorredoras.SelectedIndex = -1 Then Casas = cboCasasCorredoras.SelectedValue Else Casas = DBNull.Value End If Dim ValorPar As Boolean = chbValorPar.Checked Dim Base As Integer Dim FechaUltima As Date = dtpUltimaFecha.Value If (cboBase.SelectedIndex = 0) Then Base = 0 ElseIf (cboBase.SelectedIndex = 1) Then Base = 1 ElseIf (cboBase.SelectedIndex = 2) Then Base = 2 Else Base = 3 End If Dim coleccion As New Collection coleccion.Add(ValNom) coleccion.Add(FOpe) coleccion.Add(FLiq) coleccion.Add(RendBruto) coleccion.Add(Plazo) coleccion.Add(Variables.Codigo) coleccion.Add(PorcentajeComisionCasa) coleccion.Add(PorcentajeComisionBolsa) coleccion.Add(periodo) coleccion.Add(Base) coleccion.Add(Casas) If (PBUR Or VCN) Then coleccion.Add(ValorPar) coleccion.Add(FechaUltima) ElseIf CET Then coleccion.Add(FechaUltima) End If If VCN Then coleccion.Add(OtrosCostos) End If coleccion.Add(ValTrans) coleccion.Add(Precio) coleccion.Add(TotPagar) coleccion.Add(RendNeto) coleccion.Add(IngrBruto) coleccion.Add(IngrNeto) coleccion.Add(ComisionCasaValor) coleccion.Add(ComisionBolsaValor) coleccion.Add(FUlt) coleccion.Add(FRed) coleccion.Add(FVenc) If CET Or PBUR Or VCN Then coleccion.Add(IntAcumulado) End If oDAOLetes.ActualizarLETE(coleccion, Instrumento) End Sub Public Function Nuevo(ByVal Instrumento As String) Dim ValNom = txtValorNominal.Text Dim FOpe = dtpFechaOperacion.Value Dim FLiq = dtpFechaLiquidacion.Value Dim RendBruto = txtRendimientoBruto.Text.Trim("%") / 100 Dim Plazo = txtPlazoInversion.Text Dim PorcentajeComisionCasa = txtPorcentajeComisionCasa.Text.Trim("%") / 100 Dim PorcentajeComisionBolsa = txtPorcentajeComisionBolsa.Text.Trim("%") / 100 Dim ValTrans As Double = txtValorTransado.Text Dim Precio As Double = CDec(txtPrecio.Text.ToString.Trim("%") / 100) Dim TotPagar As Double = txtTotalAPagar.Text Dim RendNeto As Double = CDec(txtRendimientoNeto.Text.ToString.Trim("%")) / 100 Dim IngrBruto As Double = txtIngresoBruto.Text Dim IngrNeto As Double = txtIngresoNeto.Text Dim ComisionCasaValor As Double = txtComisionCasa.Text Dim ComisionBolsaValor As Double = txtComisionBolsa.Text Dim FUlt As Date = dtpUltimaFecha.Value Dim FRed As Date = dtpRedencion.Value Dim FVenc As Date = dtpFechaVencimiento.Value Dim IntAcumulado As Double = CDec(txtInteresAcumulado.Text.ToString.Trim("%") / 100) Dim periodo If Not cboPeriodicidad.SelectedIndex = -1 Then periodo = cboPeriodicidad.SelectedValue Else periodo = DBNull.Value End If Dim Casas If Not cboCasasCorredoras.SelectedIndex = -1 Then Casas = cboCasasCorredoras.SelectedValue Else Casas = DBNull.Value End If Dim ValorPar As Boolean = chbValorPar.Checked Dim Base As Integer Dim FechaUltima As Date = dtpUltimaFecha.Value Dim OtrosCostos = txtOtrosCostos.Text If (cboBase.SelectedIndex = 0) Then Base = 0 ElseIf (cboBase.SelectedIndex = 1) Then Base = 1 ElseIf (cboBase.SelectedIndex = 2) Then Base = 2 Else Base = 3 End If Dim coleccion As New Collection coleccion.Add(ValNom) coleccion.Add(FOpe) coleccion.Add(FLiq) coleccion.Add(RendBruto) coleccion.Add(Plazo) coleccion.Add(Variables.Codigo) coleccion.Add(PorcentajeComisionCasa) coleccion.Add(PorcentajeComisionBolsa) coleccion.Add(periodo) coleccion.Add(Base) coleccion.Add(Casas) If (PBUR Or VCN) Then coleccion.Add(ValorPar) coleccion.Add(FechaUltima) ElseIf CET Then coleccion.Add(FechaUltima) End If If VCN Then coleccion.Add(OtrosCostos) End If coleccion.Add(ValTrans) coleccion.Add(Precio) coleccion.Add(TotPagar) coleccion.Add(RendNeto) coleccion.Add(IngrBruto) coleccion.Add(IngrNeto) coleccion.Add(ComisionCasaValor) coleccion.Add(ComisionBolsaValor) coleccion.Add(FUlt) coleccion.Add(FRed) coleccion.Add(FVenc) If CET Or PBUR Or VCN Then coleccion.Add(IntAcumulado) End If Return coleccion End Function Sub NuevoRegistro(ByVal Instrumento As String) Dim Coleccion As New Collection Coleccion = Nuevo(Instrumento) If Coleccion.Count > 0 Then oDAOLetes.NuevoIngreso(Coleccion, Instrumento) Coleccion.Clear() End If End Sub Private Sub Eliminar(ByVal Instrumento As String) oDAOLetes.Eliminar(Variables.Codigo, Instrumento) End Sub Private Sub btnAceptar_Click(sender As Object, e As EventArgs) Handles btnAceptar.Click If (TipoTransaccion = "M") Then Modificar(Instrumento) ValidarExistencia() ElseIf (TipoTransaccion = "N") Then NuevoRegistro(Instrumento) ValidarExistencia() ElseIf (TipoTransaccion = "B") Then Eliminar(Instrumento) ValidarExistencia() ElseIf Not ExisteValidacion() Then Variables.ColeccionLETE = Nuevo(Instrumento) Close() End If End Sub Function RetornarObjeto() Return oCELetes End Function Sub CargarCasasCorredoras() If Me.cboCasasCorredoras.Items.Count = 0 Or Me.cboCasasCorredoras.Items.Count = 1 Then Me.cboCasasCorredoras.DataSource = oDAOGeneral.ListaCasasCorredoras.Tables("CasasCorredoras") Me.cboCasasCorredoras.DisplayMember = "Descripcion" Me.cboCasasCorredoras.ValueMember = "Codigo" Me.cboCasasCorredoras.SelectedIndex = 0 End If End Sub Sub CargarPeriodicidad() If cboPeriodicidad.Items.Count = 0 Or cboPeriodicidad.Items.Count = 1 Then Me.cboPeriodicidad.DataSource = oDAOGeneral.ListaPeriodicidad Me.cboPeriodicidad.DisplayMember = "Descripcion" Me.cboPeriodicidad.ValueMember = "Codigo" Me.cboPeriodicidad.SelectedIndex = 0 End If End Sub Sub CargarBase() If Me.cboBase.Items.Count = 0 Or Me.cboBase.Items.Count = 1 Then Me.cboBase.DataSource = oDAOGeneral.ListaBase Me.cboBase.DisplayMember = "Descripcion" Me.cboBase.ValueMember = "Codigo" Me.cboBase.SelectedIndex = 0 End If End Sub Private Sub CargarRegistroBD() Dim oCELetes As LETESCE CodigoInversion = Variables.Codigo If Not oCELetes Is Nothing Then Dim vValorNominal As Double = oCELetes.ValorNominal Dim vFechaOperacion As Date = oCELetes.FechaOperacion Dim vFechaLiquidacion As Date = oCELetes.FechaLiquidacion Dim vFechaVencimiento As Date = oCELetes.FechaVencimiento Dim vPlazoInversion As Integer = oCELetes.Plazo Dim vCodigoCasa As String = oCELetes.CodigoCasa Dim vPeriodicidad As String = oCELetes.Periodicidad Dim vRendimientoBruto As Double = oCELetes.RendimientoBruto Dim vRendimientoNeto As Double = oCELetes.RendimientoNeto Dim vIngresoBruto As Double = oCELetes.IngresoBruto Dim vIngresoNeto As Double = oCELetes.IngresoNeto Dim vValorTransado As Double = oCELetes.ValorNominal Dim vPrecio As Double = oCELetes.Precio Dim vTotalAPagar As Double = oCELetes.TotalaPagar vRendimientoBruto = vRendimientoBruto * 100 vRendimientoNeto = vRendimientoNeto * 100 vPrecio = vPrecio * 100 End If End Sub Public Sub CargarRegistro(vId As Integer, vTipo As String) Modo = "C" IdDocumento = vId TipoDocumento = vTipo End Sub Private Sub txtRendimientoBruto_MouseCaptureChanged(sender As Object, e As EventArgs) Handles txtRendimientoBruto.MouseCaptureChanged End Sub Function ValorTrasado() If (Double.TryParse(txtValorNominal.Text, Nothing) And Double.TryParse(V_txtPrecio.TrimEnd("%"), Nothing)) Then Return CDec(txtValorNominal.Text) * CDec((V_txtPrecio.TrimEnd("%")) / 100) End If Return 0 End Function Function Precio() If (Double.TryParse(txtRendimientoBruto.Text.TrimEnd("%"), Nothing) And Double.TryParse(txtPlazoInversion.Text.TrimEnd("%"), Nothing)) Then Dim Rendimiento = CDec(txtRendimientoBruto.Text.TrimEnd("%")) Dim Plazo = CDec((txtPlazoInversion.Text)) Dim Pr = 0.0 If (IndexBase = 0) Then Pr = ((1 - ((Rendimiento / 100) / (1 + (Rendimiento / 100) * Plazo / 360)) * Plazo / 360)) * 100 Return Pr ElseIf (IndexBase = 1) Then Dim FechaInicial = dtpFechaLiquidacion.Value Dim FechaFinal = dtpFechaVencimiento.Value Dim PrOpc1 = 0.0, PrOpc2 = 0.0 Dim CambioDeFecha As Integer = Operaciones.CambioBase(FechaInicial, FechaFinal) Dim PrimeraFechaUltima = Operaciones.PrimeraFechaCambioBase(FechaInicial) Dim UltimaFechaPrimero = Operaciones.FinalFechaCambioBase(FechaFinal) Dim DiasPrimeraFecha = 0, DiasSegundaFecha = 0 If (Not CambioDeFecha = 0) Then If CambioDeFecha = 1 Then DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha366(FechaInicial, PrimeraFechaUltima, CambioDeFecha) DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha365(UltimaFechaPrimero, FechaFinal, CambioDeFecha) PrOpc1 = ((((Rendimiento / 100) / (1 + (Rendimiento / 100) * DiasPrimeraFecha / 366)) * DiasPrimeraFecha / 366)) PrOpc2 = ((((Rendimiento / 100) / (1 + (Rendimiento / 100) * DiasSegundaFecha / 365)) * DiasSegundaFecha / 365)) ElseIf CambioDeFecha = 2 Then DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha365(FechaInicial, PrimeraFechaUltima, CambioDeFecha) DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha366(UltimaFechaPrimero, FechaFinal, CambioDeFecha) PrOpc1 = ((((Rendimiento / 100) / (1 + (Rendimiento / 100) * DiasPrimeraFecha / 365)) * DiasPrimeraFecha / 365)) PrOpc2 = ((((Rendimiento / 100) / (1 + (Rendimiento / 100) * DiasSegundaFecha / 366)) * DiasSegundaFecha / 366)) End If Pr = (1 - (PrOpc1 + PrOpc2)) * 100 Else If (Operaciones.AñoBisiesto(FechaInicial) = 364) Then Pr = ((1 - ((Rendimiento / 100) / (1 + (Rendimiento / 100) * Plazo / 365)) * Plazo / 365)) * 100 End If If (Operaciones.AñoBisiesto(FechaInicial) = 365) Then Pr = ((1 - ((Rendimiento / 100) / (1 + (Rendimiento / 100) * Plazo / 366)) * Plazo / 366)) * 100 End If End If Return Pr ElseIf (IndexBase = 2) Then '''''''''''''''''' Dim FechaInicial = dtpFechaLiquidacion.Value Dim FechaFinal = dtpFechaVencimiento.Value Dim PrOpc1 = 0.0, PrOpc2 = 0.0 Dim CambioDeFecha As Integer = Operaciones.CambioBase(FechaInicial, FechaFinal) Dim PrimeraFechaUltima = Operaciones.PrimeraFechaCambioBase360(FechaInicial) Dim UltimaFechaPrimero = Operaciones.FinalFechaCambioBase360(FechaFinal) Dim DiasPrimeraFecha = 0, DiasSegundaFecha = 0 If (Not CambioDeFecha = 0) Then If CambioDeFecha = 1 Then DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha360(FechaInicial, PrimeraFechaUltima, CambioDeFecha) DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha360(UltimaFechaPrimero, FechaFinal, CambioDeFecha) PrOpc1 = ((((Rendimiento / 100) / (1 + (Rendimiento / 100) * DiasPrimeraFecha / 366)) * DiasPrimeraFecha / 366)) PrOpc2 = ((((Rendimiento / 100) / (1 + (Rendimiento / 100) * DiasSegundaFecha / 365)) * DiasSegundaFecha / 365)) ElseIf CambioDeFecha = 2 Then DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha360(FechaInicial, PrimeraFechaUltima, CambioDeFecha) DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha360(UltimaFechaPrimero, FechaFinal, CambioDeFecha) PrOpc1 = ((((Rendimiento / 100) / (1 + (Rendimiento / 100) * DiasPrimeraFecha / 365)) * DiasPrimeraFecha / 365)) PrOpc2 = ((((Rendimiento / 100) / (1 + (Rendimiento / 100) * DiasSegundaFecha / 366)) * DiasSegundaFecha / 366)) End If Pr = (1 - (PrOpc1 + PrOpc2)) * 100 Else If (Operaciones.AñoBisiesto(FechaInicial) = 364) Then Pr = ((1 - ((Rendimiento / 100) / (1 + (Rendimiento / 100) * Plazo / 365)) * Plazo / 365)) * 100 End If If (Operaciones.AñoBisiesto(FechaInicial) = 365) Then Pr = ((1 - ((Rendimiento / 100) / (1 + (Rendimiento / 100) * Plazo / 366)) * Plazo / 366)) * 100 End If End If Return Pr Else Dim FechaInicial = dtpFechaLiquidacion.Value Dim FechaFinal = dtpFechaVencimiento.Value Dim PrOpc1 = 0.0, PrOpc2 = 0.0 Dim CambioDeFecha As Integer = Operaciones.CambioBase(FechaInicial, FechaFinal) Dim PrimeraFechaUltima = Operaciones.PrimeraFechaCambioBase(FechaInicial) Dim UltimaFechaPrimero = Operaciones.FinalFechaCambioBase(FechaFinal) Dim DiasPrimeraFecha = 0, DiasSegundaFecha = 0 If (Not CambioDeFecha = 0) Then If CambioDeFecha = 1 Then DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha366(FechaInicial, PrimeraFechaUltima, CambioDeFecha) DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha365(UltimaFechaPrimero, FechaFinal, CambioDeFecha) PrOpc1 = ((((Rendimiento / 100) / (1 + (Rendimiento / 100) * DiasPrimeraFecha / 360)) * DiasPrimeraFecha / 360)) PrOpc2 = ((((Rendimiento / 100) / (1 + (Rendimiento / 100) * DiasSegundaFecha / 360)) * DiasSegundaFecha / 360)) ElseIf CambioDeFecha = 2 Then DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha365(FechaInicial, PrimeraFechaUltima, CambioDeFecha) DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha366(UltimaFechaPrimero, FechaFinal, CambioDeFecha) PrOpc1 = ((((Rendimiento / 100) / (1 + (Rendimiento / 100) * DiasPrimeraFecha / 360)) * DiasPrimeraFecha / 360)) PrOpc2 = ((((Rendimiento / 100) / (1 + (Rendimiento / 100) * DiasSegundaFecha / 360)) * DiasSegundaFecha / 360)) End If Pr = (1 - (PrOpc1 + PrOpc2)) * 100 Else Pr = ((1 - ((Rendimiento / 100) / (1 + (Rendimiento / 100) * Plazo / 360)) * Plazo / 360)) * 100 End If Return Pr End If End If Return 0 End Function Function ComisionCasa() Dim ValorTras = ValorTrasado() Dim ComisionDeCasa = txtPorcentajeComisionCasa.Text.TrimEnd("%") Dim PlazoInversion = txtPlazoInversion.Text Dim Comision = 0.0 If (Double.TryParse(ValorTras, Nothing) And Double.TryParse(ComisionDeCasa, Nothing) And Double.TryParse(PlazoInversion, Nothing)) Then If (IndexBase = 0) Then Comision = (CDec(ValorTras) * (CDec(ComisionDeCasa)) / 100) * (CDec(PlazoInversion) / 360) Return Comision ElseIf IndexBase = 1 Then Dim FechaInicial = dtpFechaLiquidacion.Value Dim FechaFinal = dtpFechaVencimiento.Value Dim ComisionOpc1 = 0.0, ComisionOpc2 = 0.0 Dim CambioDeFecha As Integer = Operaciones.CambioBase(FechaInicial, FechaFinal) Dim PrimeraFechaUltima = Operaciones.PrimeraFechaCambioBase(FechaInicial) Dim UltimaFechaPrimero = Operaciones.FinalFechaCambioBase(FechaFinal) Dim DiasPrimeraFecha = 0, DiasSegundaFecha = 0 If (Not CambioDeFecha = 0) Then If CambioDeFecha = 1 Then DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha366(FechaInicial, PrimeraFechaUltima, CambioDeFecha) DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha365(UltimaFechaPrimero, FechaFinal, CambioDeFecha) ComisionOpc1 = (CDec(ValorTras) * (CDec(ComisionDeCasa)) / 100) * (CDec(DiasPrimeraFecha) / 366) ComisionOpc2 = (CDec(ValorTras) * (CDec(ComisionDeCasa)) / 100) * (CDec(DiasSegundaFecha) / 365) ElseIf CambioDeFecha = 2 Then DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha365(FechaInicial, PrimeraFechaUltima, CambioDeFecha) DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha366(UltimaFechaPrimero, FechaFinal, CambioDeFecha) ComisionOpc1 = (CDec(ValorTras) * (CDec(ComisionDeCasa)) / 100) * (CDec(DiasPrimeraFecha) / 365) ComisionOpc2 = (CDec(ValorTras) * (CDec(ComisionDeCasa)) / 100) * (CDec(DiasSegundaFecha) / 366) End If Comision = ComisionOpc1 + ComisionOpc2 Else If (Operaciones.AñoBisiesto(FechaInicial) = 364) Then Comision = (CDec(ValorTras) * (CDec(ComisionDeCasa)) / 100) * (CDec(PlazoInversion) / 365) End If If (Operaciones.AñoBisiesto(FechaInicial) = 365) Then Comision = (CDec(ValorTras) * (CDec(ComisionDeCasa)) / 100) * (CDec(PlazoInversion) / 366) End If End If Return Comision ElseIf IndexBase = 2 Then Dim FechaInicial = dtpFechaLiquidacion.Value Dim FechaFinal = dtpFechaVencimiento.Value Dim ComisionOpc1 = 0.0, ComisionOpc2 = 0.0 Dim CambioDeFecha As Integer = Operaciones.CambioBase(FechaInicial, FechaFinal) Dim PrimeraFechaUltima = Operaciones.PrimeraFechaCambioBase360(FechaInicial) Dim UltimaFechaPrimero = Operaciones.FinalFechaCambioBase360(FechaFinal) Dim DiasPrimeraFecha = 0, DiasSegundaFecha = 0 If (Not CambioDeFecha = 0) Then If CambioDeFecha = 1 Then DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha360(FechaInicial, PrimeraFechaUltima, CambioDeFecha) DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha360(UltimaFechaPrimero, FechaFinal, CambioDeFecha) ComisionOpc1 = (CDec(ValorTras) * (CDec(ComisionDeCasa)) / 100) * (CDec(DiasPrimeraFecha) / 366) ComisionOpc2 = (CDec(ValorTras) * (CDec(ComisionDeCasa)) / 100) * (CDec(DiasSegundaFecha) / 365) ElseIf CambioDeFecha = 2 Then DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha360(FechaInicial, PrimeraFechaUltima, CambioDeFecha) DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha360(UltimaFechaPrimero, FechaFinal, CambioDeFecha) ComisionOpc1 = (CDec(ValorTras) * (CDec(ComisionDeCasa)) / 100) * (CDec(DiasPrimeraFecha) / 365) ComisionOpc2 = (CDec(ValorTras) * (CDec(ComisionDeCasa)) / 100) * (CDec(DiasSegundaFecha) / 366) End If Comision = ComisionOpc1 + ComisionOpc2 Else If (Operaciones.AñoBisiesto(FechaInicial) = 364) Then Comision = (CDec(ValorTras) * (CDec(ComisionDeCasa)) / 100) * (CDec(PlazoInversion) / 365) End If If (Operaciones.AñoBisiesto(FechaInicial) = 365) Then Comision = (CDec(ValorTras) * (CDec(ComisionDeCasa)) / 100) * (CDec(PlazoInversion) / 366) End If End If Return Comision Else Comision = (CDec(ValorTras) * (CDec(ComisionDeCasa)) / 100) * (CDec(PlazoInversion) / 360) Return Comision End If End If Return 0 End Function Function ComisionBolsa() Dim ValorTras = ValorTrasado() Dim ComisionDeBolsa = txtPorcentajeComisionBolsa.Text.TrimEnd("%") Dim PlazoInversion = txtPlazoInversion.Text Dim Comision = 0.0 If (Double.TryParse(ValorTras, Nothing) And Double.TryParse(ComisionDeBolsa, Nothing) And Double.TryParse(PlazoInversion, Nothing)) Then If (IndexBase = 0) Then Comision = (CDec(ValorTras) * (CDec(ComisionDeBolsa)) / 100) * (CDec(PlazoInversion) / 360) Return Comision ElseIf (IndexBase = 1) Then Dim FechaInicial = dtpFechaLiquidacion.Value Dim FechaFinal = dtpFechaVencimiento.Value Dim ComisionOpc1 = 0.0, ComisionOpc2 = 0.0 Dim CambioDeFecha As Integer = Operaciones.CambioBase(FechaInicial, FechaFinal) Dim PrimeraFechaUltima = Operaciones.PrimeraFechaCambioBase(FechaInicial) Dim UltimaFechaPrimero = Operaciones.FinalFechaCambioBase(FechaFinal) Dim DiasPrimeraFecha = 0, DiasSegundaFecha = 0 If (Not CambioDeFecha = 0) Then If CambioDeFecha = 1 Then DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha366(FechaInicial, PrimeraFechaUltima, CambioDeFecha) DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha365(UltimaFechaPrimero, FechaFinal, CambioDeFecha) ComisionOpc1 = (CDec(ValorTras) * (CDec(ComisionDeBolsa)) / 100) * (CDec(DiasPrimeraFecha) / 366) ComisionOpc2 = (CDec(ValorTras) * (CDec(ComisionDeBolsa)) / 100) * (CDec(DiasSegundaFecha) / 365) ElseIf CambioDeFecha = 2 Then DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha365(FechaInicial, PrimeraFechaUltima, CambioDeFecha) DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha366(UltimaFechaPrimero, FechaFinal, CambioDeFecha) ComisionOpc1 = (CDec(ValorTras) * (CDec(ComisionDeBolsa)) / 100) * (CDec(DiasPrimeraFecha) / 365) ComisionOpc2 = (CDec(ValorTras) * (CDec(ComisionDeBolsa)) / 100) * (CDec(DiasSegundaFecha) / 366) End If Comision = ComisionOpc1 + ComisionOpc2 Else If (Operaciones.AñoBisiesto(FechaInicial) = 364) Then Comision = (CDec(ValorTras) * (CDec(ComisionDeBolsa)) / 100) * (CDec(PlazoInversion) / 365) End If If (Operaciones.AñoBisiesto(FechaInicial) = 365) Then Comision = (CDec(ValorTras) * (CDec(ComisionDeBolsa)) / 100) * (CDec(PlazoInversion) / 366) End If End If Return Comision ElseIf (IndexBase = 2) Then Dim FechaInicial = dtpFechaLiquidacion.Value Dim FechaFinal = dtpFechaVencimiento.Value Dim ComisionOpc1 = 0.0, ComisionOpc2 = 0.0 Dim CambioDeFecha As Integer = Operaciones.CambioBase(FechaInicial, FechaFinal) Dim PrimeraFechaUltima = Operaciones.PrimeraFechaCambioBase360(FechaInicial) Dim UltimaFechaPrimero = Operaciones.FinalFechaCambioBase360(FechaFinal) Dim DiasPrimeraFecha = 0, DiasSegundaFecha = 0 If (Not CambioDeFecha = 0) Then If CambioDeFecha = 1 Then DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha360(FechaInicial, PrimeraFechaUltima, CambioDeFecha) DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha360(UltimaFechaPrimero, FechaFinal, CambioDeFecha) ComisionOpc1 = (CDec(ValorTras) * (CDec(ComisionDeBolsa)) / 100) * (CDec(DiasPrimeraFecha) / 366) ComisionOpc2 = (CDec(ValorTras) * (CDec(ComisionDeBolsa)) / 100) * (CDec(DiasSegundaFecha) / 365) ElseIf CambioDeFecha = 2 Then DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha360(FechaInicial, PrimeraFechaUltima, CambioDeFecha) DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha360(UltimaFechaPrimero, FechaFinal, CambioDeFecha) ComisionOpc1 = (CDec(ValorTras) * (CDec(ComisionDeBolsa)) / 100) * (CDec(DiasPrimeraFecha) / 365) ComisionOpc2 = (CDec(ValorTras) * (CDec(ComisionDeBolsa)) / 100) * (CDec(DiasSegundaFecha) / 366) End If Comision = ComisionOpc1 + ComisionOpc2 Else If (Operaciones.AñoBisiesto(FechaInicial) = 364) Then Comision = (CDec(ValorTras) * (CDec(ComisionDeBolsa)) / 100) * (CDec(PlazoInversion) / 365) End If If (Operaciones.AñoBisiesto(FechaInicial) = 365) Then Comision = (CDec(ValorTras) * (CDec(ComisionDeBolsa)) / 100) * (CDec(PlazoInversion) / 366) End If End If Return Comision Else Comision = (CDec(ValorTras) * (CDec(ComisionDeBolsa)) / 100) * (CDec(PlazoInversion) / 360) Return Comision End If End If Return 0 End Function Function RendimientoNeto() Dim ValorNominal = txtValorNominal.Text Dim TotalPagar = V_txtTotalAPagar Dim PlazoInversion As Integer = 0 If Not String.IsNullOrEmpty(txtPlazoInversion.Text) Then PlazoInversion = txtPlazoInversion.Text End If Dim RendBruto As Double = 0 Dim ComisionCasa As Double = 0 Dim ComisionBolsa As Double = 0 If Not String.IsNullOrEmpty(txtRendimientoBruto.Text.ToString.Trim("%")) Then RendBruto = txtRendimientoBruto.Text.ToString.Trim("%") End If If Not String.IsNullOrEmpty(txtPorcentajeComisionCasa.Text.ToString.Trim("%")) Then ComisionCasa = txtPorcentajeComisionCasa.Text.ToString.Trim("%") End If If Not String.IsNullOrEmpty(txtPorcentajeComisionBolsa.Text.ToString.Trim("%")) Then ComisionBolsa = txtPorcentajeComisionBolsa.Text.ToString.Trim("%") End If If (CDec(TotalPagar) = 0 Or CDec(PlazoInversion) = 0) Then Return 0 End If If (Double.TryParse(RendBruto, Nothing) And Double.TryParse(RendBruto, Nothing) And Double.TryParse(CDec(ValorNominal), Nothing) And Double.TryParse(CDec(TotalPagar), Nothing) And Double.TryParse(CDec(PlazoInversion), Nothing)) Then Dim RendimientoNet As Double = 0 If ((chbValorPar.Checked And (VCN Or PBUR))) Then RendimientoNet = (RendBruto - ComisionCasa - ComisionBolsa) * 0.9 Return RendimientoNet ElseIf CET Then RendimientoNet = (RendBruto - ComisionCasa - ComisionBolsa) Return RendimientoNet Else If (IndexBase = 0) Then RendimientoNet = ((((CDec(ValorNominal) - CDec(TotalPagar)) / CDec(TotalPagar)) * (360 / CDec(PlazoInversion))) * 100) Return RendimientoNet ElseIf IndexBase = 1 Then Dim FechaInicial = dtpFechaLiquidacion.Value Dim FechaFinal = dtpFechaVencimiento.Value Dim RendimientoNetOpc1 = 0.0, RendimientoNetOpc2 = 0.0 Dim CambioDeFecha As Integer = Operaciones.CambioBase(FechaInicial, FechaFinal) Dim PrimeraFechaUltima = Operaciones.PrimeraFechaCambioBase(FechaInicial) Dim UltimaFechaPrimero = Operaciones.FinalFechaCambioBase(FechaFinal) Dim DiasPrimeraFecha = 0, DiasSegundaFecha = 0 If (Not CambioDeFecha = 0) Then If CambioDeFecha = 1 Then DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha366(FechaInicial, PrimeraFechaUltima, CambioDeFecha) DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha365(UltimaFechaPrimero, FechaFinal, CambioDeFecha) RendimientoNetOpc1 = ((((CDec(ValorNominal) - CDec(TotalPagar)) / CDec(TotalPagar)) * (366 / CDec(DiasPrimeraFecha))) * 100) RendimientoNetOpc2 = ((((CDec(ValorNominal) - CDec(TotalPagar)) / CDec(TotalPagar)) * (365 / CDec(DiasSegundaFecha))) * 100) ElseIf CambioDeFecha = 2 Then DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha365(FechaInicial, PrimeraFechaUltima, CambioDeFecha) DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha366(UltimaFechaPrimero, FechaFinal, CambioDeFecha) RendimientoNetOpc1 = ((((CDec(ValorNominal) - CDec(TotalPagar)) / CDec(TotalPagar)) * (365 / CDec(DiasPrimeraFecha))) * 100) RendimientoNetOpc2 = ((((CDec(ValorNominal) - CDec(TotalPagar)) / CDec(TotalPagar)) * (366 / CDec(DiasSegundaFecha))) * 100) End If RendimientoNet = RendimientoNetOpc1 + RendimientoNetOpc2 Else If (Operaciones.AñoBisiesto(FechaInicial) = 364) Then RendimientoNet = ((((CDec(ValorNominal) - CDec(TotalPagar)) / CDec(TotalPagar)) * (365 / CDec(PlazoInversion))) * 100) End If If (Operaciones.AñoBisiesto(FechaInicial) = 365) Then RendimientoNet = ((((CDec(ValorNominal) - CDec(TotalPagar)) / CDec(TotalPagar)) * (366 / CDec(PlazoInversion))) * 100) End If End If Return RendimientoNet ElseIf IndexBase = 2 Then Dim FechaInicial = dtpFechaLiquidacion.Value Dim FechaFinal = dtpFechaVencimiento.Value Dim RendimientoNetOpc1 = 0.0, RendimientoNetOpc2 = 0.0 Dim CambioDeFecha As Integer = Operaciones.CambioBase(FechaInicial, FechaFinal) Dim PrimeraFechaUltima = Operaciones.PrimeraFechaCambioBase360(FechaInicial) Dim UltimaFechaPrimero = Operaciones.FinalFechaCambioBase360(FechaFinal) Dim DiasPrimeraFecha = 0, DiasSegundaFecha = 0 If (Not CambioDeFecha = 0) Then If CambioDeFecha = 1 Then DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha360(FechaInicial, PrimeraFechaUltima, CambioDeFecha) DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha360(UltimaFechaPrimero, FechaFinal, CambioDeFecha) RendimientoNetOpc1 = ((((CDec(ValorNominal) - CDec(TotalPagar)) / CDec(TotalPagar)) * (366 / CDec(DiasPrimeraFecha))) * 100) RendimientoNetOpc2 = ((((CDec(ValorNominal) - CDec(TotalPagar)) / CDec(TotalPagar)) * (365 / CDec(DiasSegundaFecha))) * 100) ElseIf CambioDeFecha = 2 Then DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha360(FechaInicial, PrimeraFechaUltima, CambioDeFecha) DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha360(UltimaFechaPrimero, FechaFinal, CambioDeFecha) RendimientoNetOpc1 = ((((CDec(ValorNominal) - CDec(TotalPagar)) / CDec(TotalPagar)) * (365 / CDec(DiasPrimeraFecha))) * 100) RendimientoNetOpc2 = ((((CDec(ValorNominal) - CDec(TotalPagar)) / CDec(TotalPagar)) * (366 / CDec(DiasSegundaFecha))) * 100) End If RendimientoNet = RendimientoNetOpc1 + RendimientoNetOpc2 Else If (Operaciones.AñoBisiesto(FechaInicial) = 364) Then RendimientoNet = ((((CDec(ValorNominal) - CDec(TotalPagar)) / CDec(TotalPagar)) * (365 / CDec(PlazoInversion))) * 100) End If If (Operaciones.AñoBisiesto(FechaInicial) = 365) Then RendimientoNet = ((((CDec(ValorNominal) - CDec(TotalPagar)) / CDec(TotalPagar)) * (366 / CDec(PlazoInversion))) * 100) End If End If Return RendimientoNet Else RendimientoNet = ((((CDec(ValorNominal) - CDec(TotalPagar)) / CDec(TotalPagar)) * (360 / CDec(PlazoInversion))) * 100) Return RendimientoNet End If End If End If Return 0 End Function Function IngresoBruto() Dim ValorNominal As Double = 0 Dim ValorTrasado As Double = 0 If Not String.IsNullOrEmpty(txtValorNominal.Text) Then ValorNominal = txtValorNominal.Text End If If Not String.IsNullOrEmpty(V_txtValorTransado) Then ValorTrasado = V_txtValorTransado End If Dim TasaPeriodo = txtRendimientoBruto.Text.ToString.Trim("%") If String.IsNullOrEmpty(TasaPeriodo) Then TasaPeriodo = 0 Else TasaPeriodo = CDec(txtRendimientoBruto.Text.ToString.Trim("%")) / 100 End If Dim Base As Integer = 365 Dim Bruto As Double = 0 Dim Plazo As Integer = 0 If Not String.IsNullOrEmpty(txtPlazoInversion.Text) Then Plazo = txtPlazoInversion.Text End If If (chbValorPar.Checked Or CET) Then Dim PlazoDias As Integer = 0 Dim Fecha1 = dtpFechaLiquidacion.Value Dim Fecha2 = dtpFechaVencimiento.Value IndexBase = cboBase.SelectedIndex Dim Valor As Double = 0 If (IndexBase = 0) Then Valor = CDec(ValorNominal * TasaPeriodo * Plazo) / 360 Return Valor ElseIf (IndexBase = 1) Then Dim PrOpc1 = 0.0, PrOpc2 = 0.0 Dim DiasPrimeraFecha = 0, DiasSegundaFecha = 0 DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha366Varios(Fecha1, Fecha2) DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha365Varios(Fecha1, Fecha2) If (DiasPrimeraFecha > 0 And DiasSegundaFecha > 0) Then PrOpc1 = CDec(ValorNominal * TasaPeriodo * DiasPrimeraFecha) / 366 PrOpc2 = CDec(ValorNominal * TasaPeriodo * DiasSegundaFecha) / 365 Valor = PrOpc1 + PrOpc2 ElseIf (Not DiasPrimeraFecha > 0 And DiasSegundaFecha > 0) Then Valor = CDec(ValorNominal * TasaPeriodo * DiasSegundaFecha) / 365 ElseIf (DiasPrimeraFecha > 0 And Not DiasSegundaFecha > 0) Then Valor = CDec(ValorNominal * TasaPeriodo * DiasPrimeraFecha) / 366 Else Valor = 0 End If Return Valor ElseIf (IndexBase = 2) Then Dim PrOpc1 = 0.0, PrOpc2 = 0.0 Dim DiasPrimeraFecha = 0, DiasSegundaFecha = 0 DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha360Bi(Fecha1, Fecha2) DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha360(Fecha1, Fecha2) If (DiasPrimeraFecha > 0 And DiasSegundaFecha > 0) Then PrOpc1 = CDec(ValorNominal * TasaPeriodo * DiasPrimeraFecha) / 366 PrOpc2 = CDec(ValorNominal * TasaPeriodo * DiasSegundaFecha) / 365 Valor = PrOpc1 + PrOpc2 ElseIf (Not DiasPrimeraFecha > 0 And DiasSegundaFecha > 0) Then Valor = CDec(ValorNominal * TasaPeriodo * DiasSegundaFecha) / 365 ElseIf (DiasPrimeraFecha > 0 And Not DiasSegundaFecha > 0) Then Valor = CDec(ValorNominal * TasaPeriodo * DiasPrimeraFecha) / 366 Else Valor = 0 End If Return Valor Else Dim PrOpc1 = 0.0, PrOpc2 = 0.0 Dim DiasPrimeraFecha = 0, DiasSegundaFecha = 0 DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha366Varios(Fecha1, Fecha2) DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha365Varios(Fecha1, Fecha2) If (DiasPrimeraFecha > 0 And DiasSegundaFecha > 0) Then PrOpc1 = CDec(ValorNominal * TasaPeriodo * DiasPrimeraFecha) / 360 PrOpc2 = CDec(ValorNominal * TasaPeriodo * DiasSegundaFecha) / 360 Valor = PrOpc1 + PrOpc2 ElseIf (Not DiasPrimeraFecha > 0 And DiasSegundaFecha > 0) Then Valor = CDec(ValorNominal * TasaPeriodo * DiasSegundaFecha) / 360 ElseIf (DiasPrimeraFecha > 0 And Not DiasSegundaFecha > 0) Then Valor = CDec(ValorNominal * TasaPeriodo * DiasPrimeraFecha) / 360 Else Valor = 0 End If Return Valor End If Else If (Double.TryParse(ValorNominal, Nothing) And Double.TryParse(ValorTrasado, Nothing)) Then Bruto = CDec(ValorNominal) - CDec(ValorTrasado) Return Bruto End If End If Return 0 End Function Function IngresoNeto() Dim ValorNominal = txtValorNominal.Text Dim TotalPagar = V_txtTotalAPagar Dim Neto As Double = 0 If chbValorPar.Checked Or CET Then Dim IngBruto = txtIngresoBruto.Text Dim Descuentos = (CDec(txtComisionBolsa.Text) + CDec(txtComisionCasa.Text)) Neto = (IngBruto * 0.9) - Descuentos Return Neto End If If (Double.TryParse(ValorNominal, Nothing) And Double.TryParse(TotalPagar, Nothing)) Then Neto = CDec(ValorNominal) - CDec(TotalPagar) Return Neto End If Return 0 End Function Function TotalPagar() Dim ValorTrasado = V_txtValorTransado Dim ComisionCasa = V_txtComisionCasa.TrimEnd("%") Dim ComisionBolsa = V_txtComisionBolsa.TrimEnd("%") Dim OtrCost As Double = 0.0 If (Not String.IsNullOrEmpty(txtOtrosCostos.Text.ToString)) Then OtrCost = CDec(txtOtrosCostos.Text) End If If (String.IsNullOrEmpty(txtInteresAcumulado.Text.ToString)) Then txtInteresAcumulado.Text = 0 End If Dim InteresAcumulado = CDec(txtInteresAcumulado.Text.ToString.Trim("%")) If (PBUR Or CET) Then If (Double.TryParse(ValorTrasado, Nothing) And Double.TryParse(ComisionCasa, Nothing) And Double.TryParse(ComisionBolsa, Nothing)) Then Dim Total = CDec(ValorTrasado) + CDec(ComisionCasa) + CDec(ComisionBolsa) + InteresAcumulado Return Total End If ElseIf VCN Then If (Double.TryParse(ValorTrasado, Nothing) And Double.TryParse(ComisionCasa, Nothing) And Double.TryParse(ComisionBolsa, Nothing)) Then Dim Total = CDec(ValorTrasado) + CDec(ComisionCasa) + CDec(ComisionBolsa) + InteresAcumulado + OtrCost Return Total End If Else 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 End If Return 0 End Function Sub Rellenar() If (String.IsNullOrEmpty(txtOtrosCostos.Text.ToString)) Then txtOtrosCostos.Text = "0.0" End If If (String.IsNullOrEmpty(txtPlazoInversion.Text.ToString)) Then txtPlazoInversion.Text = "0.0" End If If (String.IsNullOrEmpty(txtValorNominal.Text.ToString.Trim("%"))) Then txtValorNominal.Text = 0 txtValorNominal.Text = Format(txtValorNominal.Text, "0.0") End If If (String.IsNullOrEmpty(txtPorcentajeComisionCasa.Text.ToString.Trim("%"))) Then txtPorcentajeComisionCasa.Text = 0 txtPorcentajeComisionCasa.Text = Format(txtPorcentajeComisionCasa.Text, "0.0") End If If (String.IsNullOrEmpty(txtPorcentajeComisionBolsa.Text.ToString.Trim("%"))) Then txtPorcentajeComisionBolsa.Text = 0 txtPorcentajeComisionBolsa.Text = Format(txtPorcentajeComisionBolsa.Text, "0.0") End If If (String.IsNullOrEmpty(txtRendimientoBruto.Text.ToString.Trim("%"))) Then txtRendimientoBruto.Text = 0 txtRendimientoBruto.Text = Format(txtRendimientoBruto.Text, "0.0") End If If (String.IsNullOrEmpty(txtInteresAcumulado.Text.ToString.Trim("%"))) Then txtInteresAcumulado.Text = "0.0%" End If If (txtPorcentajeComisionCasa.Text.ToString.IndexOf("%") = -1) Then txtPorcentajeComisionCasa.Text += "%" End If If (txtPorcentajeComisionBolsa.ToString.IndexOf("%") = -1) Then txtPorcentajeComisionBolsa.Text += "%" End If If (txtRendimientoBruto.ToString.IndexOf("%") = -1) Then txtRendimientoBruto.Text += "%" End If End Sub Sub RellenarDatos() If (cboBase.SelectedIndex = 0) Then IndexBase = 0 ElseIf (cboBase.SelectedIndex = 1) Then IndexBase = 1 ElseIf (cboBase.SelectedIndex = 2) Then IndexBase = 2 ElseIf (cboBase.SelectedIndex = 3) Then IndexBase = 3 End If Dim FechaOperacion = Date.Now.Date, FechaLiquidacion = Date.Now.Date AgregarDias() If (CET) Then V_txtPrecio = "100" Else If (chbValorPar.Checked) Then V_txtPrecio = "100" txtPrecio.Text = "100%" Else txtPrecio.Text = Format(Precio(), "0.0000") V_txtPrecio = Format(Precio(), "0.000000000") End If End If txtValorTransado.Text = Format(ValorTrasado(), "0.0000") V_txtValorTransado = Format(ValorTrasado(), "0.000000000") txtComisionCasa.Text = Format(ComisionCasa(), "0.0000") V_txtComisionCasa = Format(ComisionCasa(), "0.000000000") txtComisionBolsa.Text = Format(ComisionBolsa(), "0.0000") V_txtComisionBolsa = Format(ComisionBolsa(), "0.000000000") txtIngresoBruto.Text = Format(IngresoBruto(), "0.0000") V_txtIngresoBruto = Format(IngresoBruto(), "0.000000000") FechaOperacion = dtpFechaOperacion.Value FechaLiquidacion = dtpFechaLiquidacion.Value 'txtDiasAcumulados.Text = Operaciones.DiasAcumulados(FechaOperacion, FechaLiquidacion, 1).ToString() Dim Dias = 0 Dim Fecha As String = Format(dtpUltimaFecha.Value, "yyyy/MM/dd") dtpUltimaFecha.Value = Fecha Dim FechaLiq As String = Format(dtpFechaLiquidacion.Value, "yyyy/MM/dd") dtpFechaLiquidacion.Value = FechaLiq If (IndexBase = 0 Or IndexBase = 2) Then Dias = Operaciones.Base360(dtpUltimaFecha.Value, dtpFechaLiquidacion.Value) ElseIf IndexBase = 1 Or IndexBase = 3 Then Dias = Operaciones.Base365(dtpUltimaFecha.Value, dtpFechaLiquidacion.Value) End If V_txtDiasAcumulados = Dias Dim ValorNominal, RendBruto ValorNominal = txtValorNominal.Text If String.IsNullOrEmpty(ValorNominal.ToString) Then ValorNominal = 0 End If RendBruto = txtRendimientoBruto.Text If String.IsNullOrEmpty(RendBruto.ToString.Trim("%")) Then RendBruto = 0 Else RendBruto = txtRendimientoBruto.Text.TrimEnd("%") / 100 End If txtInteresAcumulado.Text = Format(CDec(Operaciones.InteresAcumuladoPBUR(ValorNominal, RendBruto, V_txtDiasAcumulados, IndexBase, dtpUltimaFecha.Value, dtpFechaLiquidacion.Value)), "0.0000").ToString + "%" txtTotalAPagar.Text = Format(TotalPagar(), "0.0000") V_txtTotalAPagar = Format(TotalPagar(), "0.000000000") txtIngresoNeto.Text = Format(IngresoNeto(), "0.0000") V_txtIngresoNeto = Format(IngresoNeto(), "0.000000000") txtRendimientoNeto.Text = Format(RendimientoNeto(), "0.0000") V_txtRendimientoNeto = Format(RendimientoNeto(), "0.000000000") AgregarPorcentaje() End Sub Private Sub Button1_Click_1(sender As Object, e As EventArgs) End Sub Sub AgregarDias() Dim Dias As Integer = 0 If Not String.IsNullOrEmpty(txtPlazoInversion.Text) Then Dias = txtPlazoInversion.Text End If Dim Fechaliquidacion = dtpFechaLiquidacion.Value If (IndexBase = 0 Or IndexBase = 2) Then dtpFechaVencimiento.Value = Operaciones.FechaDias360(Fechaliquidacion, Dias) ElseIf IndexBase = 1 Or IndexBase = 3 Then dtpFechaVencimiento.Value = dtpFechaLiquidacion.Value.AddDays(Dias) End If End Sub Sub AgregarPorcentaje() If (txtRendimientoBruto.ToString.IndexOf("%") = -1) Then txtRendimientoBruto.Text += "%" End If If (txtPorcentajeComisionCasa.Text.ToString.IndexOf("%") = -1) Then txtPorcentajeComisionCasa.Text += "%" End If If (txtPorcentajeComisionBolsa.ToString.IndexOf("%") = -1) Then txtPorcentajeComisionBolsa.Text += "%" End If If (txtRendimientoNeto.ToString.IndexOf("%") = -1) Then txtRendimientoNeto.Text += "%" End If If (txtPrecio.ToString.IndexOf("%") = -1) Then txtPrecio.Text += "%" End If End Sub Private Sub txtRendimientoBruto_Leave(sender As Object, e As EventArgs) Handles txtRendimientoBruto.Leave Rellenar() End Sub Private Sub navModificar_Click(sender As Object, e As EventArgs) Handles navModificar.Click TipoTransaccion = "M" btnAceptar.Text = "Modificar" End Sub Private Sub txtValorNominal_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtValorNominal.KeyPress If String.IsNullOrEmpty(txtValorNominal.Text) Then If e.KeyChar = "." Then txtValorNominal.Text = "0" Exit Sub End If End If If (Not txtValorNominal.Text.ToString.IndexOf(".") = -1 And e.KeyChar = ".") Then Operaciones.ValidarEntrada(sender, e, True) Else Operaciones.ValidarEntrada(sender, e, False) End If End Sub Private Sub txtPlazoInversion_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtPlazoInversion.KeyPress If String.IsNullOrEmpty(txtPlazoInversion.Text) Then If e.KeyChar = "." Then txtPlazoInversion.Text = "0" Exit Sub End If End If If (Not txtPlazoInversion.Text.ToString.IndexOf(".") = -1 And e.KeyChar = ".") Then Operaciones.ValidarEntrada(sender, e, True) Else Operaciones.ValidarEntrada(sender, e, False) End If End Sub Private Sub txtPorcentajeComisionCasa_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtPorcentajeComisionCasa.KeyPress If String.IsNullOrEmpty(txtPorcentajeComisionCasa.Text) Then If e.KeyChar = "." Then txtPorcentajeComisionCasa.Text = "0" Exit Sub End If End If If (Not txtPorcentajeComisionCasa.Text.ToString.IndexOf(".") = -1 And e.KeyChar = ".") Then Operaciones.ValidarEntrada(sender, e, True) Else Operaciones.ValidarEntrada(sender, e, False) End If End Sub Private Sub txtPorcentajeComisionBolsa_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtPorcentajeComisionBolsa.KeyPress If String.IsNullOrEmpty(txtPorcentajeComisionBolsa.Text) Then If e.KeyChar = "." Then txtPorcentajeComisionBolsa.Text = "0" Exit Sub End If End If If (Not txtPorcentajeComisionBolsa.Text.ToString.IndexOf(".") = -1 And e.KeyChar = ".") Then Operaciones.ValidarEntrada(sender, e, True) Else Operaciones.ValidarEntrada(sender, e, False) End If End Sub Private Sub txtRendimientoBruto_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtRendimientoBruto.KeyPress If String.IsNullOrEmpty(txtRendimientoBruto.Text) Then If e.KeyChar = "." Then txtRendimientoBruto.Text = "0" Exit Sub End If End If If (Not txtRendimientoBruto.Text.ToString.IndexOf(".") = -1 And e.KeyChar = ".") Then Operaciones.ValidarEntrada(sender, e, True) Else Operaciones.ValidarEntrada(sender, e, False) End If End Sub Private Sub navNuevo_Click(sender As Object, e As EventArgs) Handles navNuevo.Click TipoTransaccion = "N" btnAceptar.Text = "Agregar" End Sub Private Sub chbValorPar_CheckedChanged(sender As Object, e As EventArgs) Handles chbValorPar.CheckedChanged RellenarDatos() End Sub Private Sub txtRendimientoNeto_TextChanged(sender As Object, e As EventArgs) Handles txtRendimientoNeto.TextChanged End Sub Private Sub txtInteresAcumulado_TextChanged(sender As Object, e As EventArgs) Handles txtInteresAcumulado.TextChanged End Sub Private Sub txtIngresoBruto_TextChanged(sender As Object, e As EventArgs) Handles txtIngresoBruto.TextChanged End Sub Private Sub dtpUltimaFecha_ValueChanged(sender As Object, e As EventArgs) RellenarDatos() End Sub Private Sub Label14_Click(sender As Object, e As EventArgs) Handles Label14.Click End Sub Private Sub cboPeriodicidad_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboPeriodicidad.SelectedIndexChanged RellenarDatos() End Sub Private Sub cboCasasCorredoras_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboCasasCorredoras.SelectedIndexChanged RellenarDatos() End Sub Private Sub Label2_Click(sender As Object, e As EventArgs) Handles Label2.Click End Sub Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click End Sub Private Sub Label4_Click(sender As Object, e As EventArgs) Handles Label4.Click End Sub Private Sub Label3_Click(sender As Object, e As EventArgs) Handles Label3.Click End Sub Private Sub Label10_Click(sender As Object, e As EventArgs) Handles Label10.Click End Sub Private Sub Label5_Click(sender As Object, e As EventArgs) Handles Label5.Click End Sub Private Sub Label11_Click(sender As Object, e As EventArgs) Handles Label11.Click End Sub Private Sub txtIngresoNeto_TextChanged(sender As Object, e As EventArgs) Handles txtIngresoNeto.TextChanged End Sub Private Sub Label12_Click(sender As Object, e As EventArgs) Handles Label12.Click End Sub Private Sub Label13_Click(sender As Object, e As EventArgs) Handles Label13.Click End Sub Private Sub Label15_Click(sender As Object, e As EventArgs) Handles Label15.Click End Sub Private Sub Label16_Click(sender As Object, e As EventArgs) Handles Label16.Click End Sub Private Sub Label17_Click(sender As Object, e As EventArgs) Handles Label17.Click End Sub Private Sub Label6_Click(sender As Object, e As EventArgs) Handles Label6.Click End Sub Private Sub lblInteresAcumulado_Click(sender As Object, e As EventArgs) Handles lblInteresAcumulado.Click End Sub Private Sub dtpUltimaFecha_ValueChanged_1(sender As Object, e As EventArgs) Handles dtpUltimaFecha.ValueChanged RellenarDatos() End Sub Private Sub txtOtrosCostos_TextChanged(sender As Object, e As EventArgs) Handles txtOtrosCostos.TextChanged RellenarDatos() End Sub Private Sub txtOtrosCostos_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtOtrosCostos.KeyPress If String.IsNullOrEmpty(txtOtrosCostos.Text) Then If e.KeyChar = "." Then txtOtrosCostos.Text = "0" Exit Sub End If End If If (Not txtOtrosCostos.Text.ToString.IndexOf(".") = -1 And e.KeyChar = ".") Then Operaciones.ValidarEntrada(sender, e, True) Else Operaciones.ValidarEntrada(sender, e, False) End If End Sub Private Sub btnRedencion_Click(sender As Object, e As EventArgs) Handles btnRedencion.Click If (btnRedencion.Text = "Redención") Then lblRedencion.Visible = True dtpRedencion.Visible = True btnRedencion.Text = "Cancelar" Else lblRedencion.Visible = False dtpRedencion.Visible = False btnRedencion.Text = "Redención" End If End Sub Private Sub txtDiasAcumulados_TextChanged(sender As Object, e As EventArgs) RellenarDatos() End Sub Private Sub txtValorNominal_Leave(sender As Object, e As EventArgs) Handles txtValorNominal.Leave Rellenar() End Sub Private Sub txtPlazoInversion_Leave(sender As Object, e As EventArgs) Handles txtPlazoInversion.Leave Rellenar() End Sub Private Sub txtOtrosCostos_Leave(sender As Object, e As EventArgs) Handles txtOtrosCostos.Leave Rellenar() End Sub Private Sub txtValorNominal_ModifiedChanged(sender As Object, e As EventArgs) Handles txtValorNominal.ModifiedChanged End Sub Private Sub txtValorNominal_KeyUp(sender As Object, e As KeyEventArgs) Handles txtValorNominal.KeyUp If txtValorNominal.Text = "." Then txtValorNominal.Text = ".0" End If End Sub Private Sub txtPlazoInversion_KeyUp(sender As Object, e As KeyEventArgs) Handles txtPlazoInversion.KeyUp If txtPlazoInversion.Text = "." Then txtPlazoInversion.Text = ".0" End If End Sub Private Sub txtPorcentajeComisionCasa_KeyUp(sender As Object, e As KeyEventArgs) Handles txtPorcentajeComisionCasa.KeyUp If txtPorcentajeComisionCasa.Text = "." Then txtPorcentajeComisionCasa.Text = ".0" End If End Sub Private Sub txtPorcentajeComisionBolsa_KeyUp(sender As Object, e As KeyEventArgs) Handles txtPorcentajeComisionBolsa.KeyUp If txtPorcentajeComisionBolsa.Text = "." Then txtPorcentajeComisionBolsa.Text = ".0" End If End Sub Private Sub txtRendimientoBruto_KeyUp(sender As Object, e As KeyEventArgs) Handles txtRendimientoBruto.KeyUp If txtRendimientoBruto.Text = "." Then txtRendimientoBruto.Text = ".0" End If End Sub Private Sub txtOtrosCostos_KeyUp(sender As Object, e As KeyEventArgs) Handles txtOtrosCostos.KeyUp If txtOtrosCostos.Text = "." Then txtOtrosCostos.Text = ".0" End If End Sub Private Sub dtpRedencion_ValueChanged(sender As Object, e As EventArgs) Handles dtpRedencion.ValueChanged End Sub Private Sub btnReporto_Click(sender As Object, e As EventArgs) End Sub Private Sub navEliminar_Click(sender As Object, e As EventArgs) Handles navEliminar.Click TipoTransaccion = "B" btnAceptar.Text = "Eliminar" End Sub Private Sub btnCancelar_Click(sender As Object, e As EventArgs) Handles btnCancelar.Click Me.Close() End Sub Private Sub cboBase_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboBase.SelectedIndexChanged RellenarDatos() End Sub Private Sub BindingNavigator1_RefreshItems(sender As Object, e As EventArgs) Handles BindingNavigator1.RefreshItems End Sub Private Sub txtPorcentajeComisionCasa_Leave(sender As Object, e As EventArgs) Handles txtPorcentajeComisionCasa.Leave Rellenar() End Sub Private Sub txtPorcentajeComisionBolsa_Leave(sender As Object, e As EventArgs) Handles txtPorcentajeComisionBolsa.Leave Rellenar() End Sub Sub AgregarDiasExtra() dtpFechaLiquidacion.Value = dtpFechaOperacion.Value.AddDays(2) End Sub Sub CargarTransladoNuevo() Dim Existe As Boolean = ExisteInversion() If Not RetCodigoInversionExiste And Not Existe Then txtValorNominal.Text = Variables.RetMonto txtRendimientoBruto.Text = Variables.RetRendimiento End If End Sub End Class