| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852 |
- Public Class frmNotaEstructurada
- Dim AnioBase As Integer = 365
- Dim oNETSCE As New NotaEstructuradaCE
- Dim oDAONEST As New DAONotaEstructurada
- Dim oDAOGeneral As New DAOGeneral
- Private vCargado As Boolean = False
- Dim Estado As String = " "
- Dim codigo As String = Variables.Codigo
- Dim Operaciones As New Operaciones
- Dim NotaCalcular As New NotaEstructuradaCE
- Private _TipoTransaccion As String
- Private _IdDocumento As Integer
- Private _TipoDocumento As String
- Private _CodigoInversion As String
- Private Property CodigoInversion As String
- Get
- Return _CodigoInversion
- End Get
- Set(value As String)
- _CodigoInversion = value
- End Set
- End Property
- Public Property TipoTransaccion As String
- Get
- Return _TipoTransaccion
- End Get
- Set(value As String)
- _TipoTransaccion = value
- End Set
- End Property
- Private Sub frmNotaEstructurada_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- dgvIntereses.Columns.Clear()
- AgregarCampos()
- Call CargarPeriodos()
- If TipoTransaccion Is Nothing Then
- TipoTransaccion = "N"
- PrepararNuevo()
- End If
- If TipoTransaccion = "C" Then
- Call CargarRegistroBD()
- End If
- CalcularPlazo()
- Calculo()
- vCargado = True
- ExisteInversion()
- ValidarExistencia()
- End Sub
- Sub RellenarDatos()
- If (String.IsNullOrEmpty(txtMontoInversion.Text.ToString)) Then
- txtMontoInversion.Text = "0.0"
- End If
- If (String.IsNullOrEmpty(txtPlazo.Text.ToString)) Then
- txtPlazo.Text = "0.0"
- End If
- If (String.IsNullOrEmpty(txtTasa.Text.ToString.Trim("%"))) Then
- txtTasa.Text = "0.0%"
- 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 ValidarExistencia()
- Dim General As New DAOGeneral
- Dim Codigo As String = Variables.Codigo
- Dim Tabla As String = String.Empty
- Tabla = "NEST0"
- 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
- Estado = String.Empty
- btnGME.Text = "Aceptar"
- End Sub
- Function ExisteValidacion()
- Dim General As New DAOGeneral
- Dim Codigo As String = Variables.Codigo
- Dim Tabla As String = String.Empty
- Tabla = "NEST0"
- Dim Existe As Boolean = General.ExisteTitulo(Codigo, Tabla)
- Return Existe
- End Function
- Private Sub txtPlazo_TextChanged(sender As Object, e As EventArgs)
- Calculo()
- End Sub
- Private Sub txtPlazo_LostFocus(sender As Object, e As EventArgs)
- End Sub
- Private Sub ControlPlazo()
- Dim valor As Integer
- If Not Integer.TryParse(txtPlazo.Text.ToString, valor) Then
- txtPlazo.Focus()
- txtPlazo.BackColor = Configuraciones.ColorFondoError
- Else
- txtPlazo.BackColor = Color.White
- If TipoTransaccion = "N" Or TipoTransaccion = "M" Then
- oNETSCE.Plazo = valor
- End If
- RefrescarValorControles()
- End If
- End Sub
- Private Sub dtpFechaOperacion_ValueChanged(sender As Object, e As EventArgs) Handles dtpFechaOperacion.ValueChanged
- CalcularPlazo()
- Calculo()
- End Sub
- Private Sub ControlFechaOperacion()
- Dim valor As Date
- valor = dtpFechaOperacion.Value.Date
- If TipoTransaccion = "N" Then
- oNETSCE.FechaOperacion = valor
- End If
- RefrescarValorControles()
- End Sub
- Private Sub txtIngresoBruto_TextChanged(sender As Object, e As EventArgs)
- End Sub
- Private Sub txtTasa_TextChanged(sender As Object, e As EventArgs) Handles txtTasa.TextChanged
- Calculo()
- If (txtTasa.ToString.IndexOf("%") = -1) Then
- txtTasa.Text += "%"
- End If
- CalcularPlazo()
- Calculo()
- End Sub
- Private Sub txtTasa_LostFocus(sender As Object, e As EventArgs) Handles txtTasa.LostFocus
- End Sub
- Private Sub ControlTasa()
- Dim valor As Double
- If Not Double.TryParse(txtTasa.Text, valor) Then
- txtTasa.Focus()
- txtTasa.BackColor = Configuraciones.ColorFondoError
- Else
- txtTasa.BackColor = Color.White
- If TipoTransaccion = "N" Or TipoTransaccion = "M" Then
- oNETSCE.Tasa = valor
- End If
- RefrescarValorControles()
- End If
- End Sub
- Private Sub txtMontoInversion_TextChanged(sender As Object, e As EventArgs) Handles txtMontoInversion.TextChanged
- CalcularPlazo()
- Calculo()
- End Sub
- Private Sub txtMontoInversion_LostFocus(sender As Object, e As EventArgs) Handles txtMontoInversion.LostFocus
- End Sub
- Private Sub ControlMontoInversion()
- Dim valor As Double
- If Not Double.TryParse(txtMontoInversion.Text, valor) Then
- txtMontoInversion.Focus()
- txtMontoInversion.BackColor = Configuraciones.ColorFondoError
- Else
- txtMontoInversion.BackColor = Color.White
- If TipoTransaccion = "N" Or TipoTransaccion = "M" Then
- oNETSCE.MontoDeInversion = valor
- End If
- RefrescarValorControles()
- End If
- End Sub
- Private Sub txtIngresoNeto_TextChanged(sender As Object, e As EventArgs)
- End Sub
- Sub CargarPeriodos()
- 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
- Private Sub btnAceptar_Click(sender As Object, e As EventArgs)
- If (Estado = "N") Then
- NuevoElemento()
- ElseIf (Estado = "M") Then
- ModificarElemento()
- ElseIf (Estado = "B") Then
- EliminarElemento()
- End If
- End Sub
- Private Sub CargarRegistroBD()
- oNETSCE = Nothing
- oDAONEST = New DAONotaEstructurada
- CodigoInversion = Variables.Codigo
- oNETSCE = oDAONEST.CargarRegistro(Me.CodigoInversion)
- TipoTransaccion = "C"
- RefrescarValorControles()
- End Sub
- Private Sub dtpFechaVencimiento_ValueChanged(sender As Object, e As EventArgs) Handles dtpFechaVencimiento.ValueChanged
- CalcularPlazo()
- Calculo()
- End Sub
- Private Sub ControlFechaVencimiento()
- Dim valor As Date
- valor = dtpFechaVencimiento.Value.Date.ToString
- If TipoTransaccion = "N" Or TipoTransaccion = "M" Then
- oNETSCE.FechaVencimiento = valor
- End If
- RefrescarValorControles()
- End Sub
- Private Sub cboPeriodicidad_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboPeriodicidad.SelectedIndexChanged
- CalcularPlazo()
- Calculo()
- End Sub
- Private Sub ControlPreriodicidad()
- Dim valor As String
- If vCargado Then
- If TipoTransaccion = "N" Or TipoTransaccion = "M" Then
- valor = cboPeriodicidad.SelectedValue
- oNETSCE.Periodicidad = valor
- End If
- If TipoTransaccion IsNot Nothing Then
- RefrescarValorControles()
- End If
- End If
- End Sub
- Public Sub CargarRegistro(ByRef vCodigoInversion As String)
- TipoTransaccion = "C"
- Me.CodigoInversion = vCodigoInversion
- End Sub
- Private Sub RefrescarValorControles()
- If Not oNETSCE Is Nothing Then
- Me.txtMontoInversion.Text = oNETSCE.MontoDeInversion.ToString(Configuraciones.CodigoTXTMontos)
- Me.dtpFechaOperacion.Value = oNETSCE.FechaOperacion
- Me.dtpFechaVencimiento.Value = oNETSCE.FechaVencimiento
- Me.txtTasa.Text = oNETSCE.Tasa.ToString(Configuraciones.CodigoTXTMontos)
- txtPlazo.Text = oNETSCE.Plazo.ToString
- 'anio base
- Me.cboPeriodicidad.SelectedValue = oNETSCE.Periodicidad
- Me.txtRendimientoBruto.Text = oNETSCE.RendimientoBruto.ToString(Configuraciones.CodigoTXTMontos)
- Me.txtRendimientoNeto.Text = oNETSCE.RendimientoNeto.ToString(Configuraciones.CodigoTXTMontos)
- For Each item As DataRow In oNETSCE.dtIntereses.Rows
- Me.txtImpuesto.Text = item("PorcImp") * 100
- Next
- End If
- End Sub
- Private Sub dgvIntereses_CellBeginEdit(sender As Object, e As DataGridViewCellCancelEventArgs) Handles dgvIntereses.CellBeginEdit
- End Sub
- Private Sub RefrescarClaseEntidad()
- ControlMontoInversion()
- ControlFechaOperacion()
- ControlFechaVencimiento()
- ControlTasa()
- ControlPlazo()
- ControlPreriodicidad()
- End Sub
- Private Sub dgvIntereses_CellEndEdit(sender As Object, e As DataGridViewCellEventArgs) Handles dgvIntereses.CellEndEdit
- End Sub
- Private Sub dgvIntereses_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvIntereses.CellContentClick
- End Sub
- Private Sub PrepararNuevo()
- oNETSCE = New NotaEstructuradaCE
- RefrescarValorControles()
- End Sub
- Private Sub dgvIntereses_CellLeave(sender As Object, e As DataGridViewCellEventArgs) Handles dgvIntereses.CellLeave
- End Sub
- Private Sub dgvIntereses_CellEnter(sender As Object, e As DataGridViewCellEventArgs) Handles dgvIntereses.CellEnter
- End Sub
- Private Sub dgvIntereses_RowPostPaint(sender As Object, e As DataGridViewRowPostPaintEventArgs) Handles dgvIntereses.RowPostPaint
- End Sub
- Private Sub dgvIntereses_RowPrePaint(sender As Object, e As DataGridViewRowPrePaintEventArgs) Handles dgvIntereses.RowPrePaint
- End Sub
- Private Sub dgvIntereses_RowsAdded(sender As Object, e As DataGridViewRowsAddedEventArgs) Handles dgvIntereses.RowsAdded
- End Sub
- Private Sub dgvIntereses_RowValidated(sender As Object, e As DataGridViewCellEventArgs) Handles dgvIntereses.RowValidated
- End Sub
- Private Sub navModificar_Click(sender As Object, e As EventArgs) Handles navModificar.Click
- btnGME.Text = "Modificar"
- Estado = "M"
- End Sub
- Private Sub navNuevo_Click(sender As Object, e As EventArgs) Handles navNuevo.Click
- btnGME.Text = "Nuevo"
- Estado = "N"
- End Sub
- Private Sub navEliminar_Click(sender As Object, e As EventArgs) Handles navEliminar.Click
- btnGME.Text = "Eliminar"
- Estado = "B"
- End Sub
- Function ColeccionDatos()
- Dim Coleccion As New Collection
- Dim MontoInv, FOper, FVenc, Tasa, Plazo, Periodic, RendBr, RendNet, IngrBrutoTot, IngrNetoTot, Renta As String
- MontoInv = Operaciones.ConvertirDecimal(txtMontoInversion.Text.ToString)
- FOper = Operaciones.ConvertirFecha(dtpFechaOperacion.Value.ToString)
- FVenc = Operaciones.ConvertirFecha(dtpFechaVencimiento.Value.ToString)
- Tasa = Operaciones.ConvertirDecimal(txtTasa.Text.ToString)
- Plazo = Operaciones.ConvertirEntero(txtPlazo.Text.ToString)
- Periodic = cboPeriodicidad.SelectedValue
- RendBr = Operaciones.ConvertirDecimal(txtRendimientoBruto.Text.ToString) / 100
- RendNet = Operaciones.ConvertirDecimal(txtRendimientoNeto.Text.ToString) / 100
- IngrBrutoTot = Operaciones.ConvertirDecimal(txtIngresoBruto.Text.ToString)
- IngrNetoTot = Operaciones.ConvertirDecimal(txtIngresoNeto.Text.ToString)
- Renta = Operaciones.ConvertirDecimal(txtRenta.Text.ToString)
- Coleccion.Add(MontoInv)
- Coleccion.Add(FOper)
- Coleccion.Add(FVenc)
- Coleccion.Add(Tasa)
- Coleccion.Add(Plazo)
- Coleccion.Add(Periodic)
- Coleccion.Add(RendBr)
- Coleccion.Add(RendNet)
- Coleccion.Add(IngrBrutoTot)
- Coleccion.Add(IngrNetoTot)
- Coleccion.Add(Renta)
- Return Coleccion
- End Function
- Function ColeccionElementos(ByVal Index As Integer)
- Dim Coleccion As New Collection
- Dim Correlativo, plazo, Fecha, IngBruto, PorcImp, MontoImp, IngrNeto As String
- Correlativo = Operaciones.ConvertirEntero(dgvIntereses.Rows(Index).Cells("Correlativo").Value.ToString)
- plazo = Operaciones.ConvertirEntero(dgvIntereses.Rows(Index).Cells("Plazo").Value.ToString)
- Fecha = Operaciones.ConvertirFecha(dgvIntereses.Rows(Index).Cells("Fecha").Value.ToString)
- IngBruto = Operaciones.ConvertirDecimal(dgvIntereses.Rows(Index).Cells("Ingreso Bruto").Value.ToString)
- PorcImp = Operaciones.ConvertirDecimal(dgvIntereses.Rows(Index).Cells("% Impuesto").Value.ToString)
- MontoImp = Operaciones.ConvertirDecimal(dgvIntereses.Rows(Index).Cells("Monto del Impuesto").Value.ToString)
- IngrNeto = Operaciones.ConvertirDecimal(dgvIntereses.Rows(Index).Cells("Ingreso Neto").Value.ToString)
- Coleccion.Add(Correlativo)
- Coleccion.Add(plazo)
- Coleccion.Add(Fecha)
- Coleccion.Add(IngBruto)
- Coleccion.Add(PorcImp)
- Coleccion.Add(MontoImp)
- Coleccion.Add(IngrNeto)
- Return Coleccion
- End Function
- Sub Calculo()
- Dim Plazo As Integer = 0
- Plazo = Operaciones.ConvertirEntero(txtPlazo.Text.ToString)
- dtpFechaVencimiento.Value = dtpFechaOperacion.Value.AddDays(Plazo)
- CalcularRendBruto()
- CalcularRendNeto()
- End Sub
- Sub CalcularRendBruto()
- Dim Total As Double = TotalIngreso()
- Dim MontoInv As Double = Operaciones.ConvertirDecimal(txtMontoInversion.Text.ToString)
- Dim Base = 365
- Dim pla As Double = Operaciones.ConvertirEntero(txtPlazo.Text.ToString)
- Dim tot As Double = 0
- If (Not MontoInv = 0 And Not pla = 0) Then
- tot = (Total / MontoInv) * (Base / pla)
- End If
- txtRendimientoBruto.Text = CStr((tot * 100)) + "%"
- End Sub
- Sub CalcularRendNeto()
- Dim Total As Double = TotalIngresoNeto()
- Dim MontoInv As Double = Operaciones.ConvertirDecimal(txtMontoInversion.Text.ToString)
- Dim Base = 365
- Dim pla As Double = Operaciones.ConvertirDecimal(txtPlazo.Text.ToString)
- Dim tot As Double = 0
- If (Not MontoInv = 0 And Not pla = 0) Then
- tot = (Total / MontoInv) * (Base / pla)
- End If
- txtRendimientoNeto.Text = CStr((tot * 100)) + "%"
- End Sub
- Function TotalIngreso()
- Dim Cantidad As Integer = CDec(dgvIntereses.Rows.Count - 1)
- Dim TotalIngr As Double = 0
- For i As Integer = 0 To Cantidad
- TotalIngr = TotalIngr + Operaciones.ConvertirDecimal(dgvIntereses.Rows(i).Cells("Ingreso Bruto").Value)
- Next
- Return TotalIngr
- End Function
- Function TotalIngresoNeto()
- Dim Cantidad = dgvIntereses.Rows.Count - 1
- Dim TotalIngr As Double = 0
- For i As Integer = 0 To Cantidad
- TotalIngr = TotalIngr + Operaciones.ConvertirDecimal(dgvIntereses.Rows(i).Cells("Ingreso Neto").Value)
- Next
- Return TotalIngr
- End Function
- Private Sub Button1_Click(sender As Object, e As EventArgs)
- End Sub
- Function NuevoElemento()
- Dim Index As Integer = dgvIntereses.Rows.Count - 2
- Dim diccionario As New Dictionary(Of String, Collection)
- For i As Integer = 0 To Index
- Dim colec As Collection = ColeccionElementos(i)
- diccionario.Add(i, colec)
- Next
- Return diccionario
- End Function
- Sub NuevoElementoGuardar()
- Dim Index As Integer = dgvIntereses.Rows.Count - 2
- For i As Integer = 0 To Index
- Dim colec As Collection = ColeccionElementos(i)
- oDAONEST.NuevoElemento(colec, codigo)
- Next
- End Sub
- Sub ModificarElemento()
- oDAONEST.EliminarElemento(codigo)
- NuevoElementoGuardar()
- End Sub
- Sub EliminarElemento()
- oDAONEST.EliminarElemento(codigo)
- End Sub
- Sub Nuevo()
- Dim colec As Collection = ColeccionDatos()
- Dim Diccionario As Dictionary(Of String, Collection) = NuevoElemento()
- oDAONEST.NuevoDato(colec, Diccionario, codigo)
- End Sub
- Sub Modificar()
- Dim colec As Collection = ColeccionDatos()
- Dim Diccionario As Dictionary(Of String, Collection) = NuevoElemento()
- oDAONEST.ModificarDato(colec, codigo, NuevoElemento())
- End Sub
- Sub Eliminar()
- Dim codigo As String = Variables.Codigo
- oDAONEST.Eliminar(codigo)
- End Sub
- Private Sub btnGME_Click(sender As Object, e As EventArgs) Handles btnGME.Click
- If (Estado = "N") Then
- Nuevo()
- ElseIf (Estado = "M") Then
- Modificar()
- ElseIf (Estado = "B") Then
- Eliminar()
- ElseIf Not ExisteValidacion() Then
- Variables.ColeccionNEST = ColeccionDatos()
- Variables.ColeccionNESTDi = NuevoElemento()
- Me.Close()
- End If
- End Sub
- Private Sub txtRendimientoBruto_TextChanged(sender As Object, e As EventArgs) Handles txtRendimientoBruto.TextChanged
- End Sub
- Private Sub Button1_Click_1(sender As Object, e As EventArgs)
- Me.Operaciones.CambioBase(dtpFechaOperacion.Value, dtpFechaVencimiento.Value)
- End Sub
- Private Sub txtPlazo_TextChanged_1(sender As Object, e As EventArgs) Handles txtPlazo.TextChanged
- CalcularPlazo()
- Calculo()
- End Sub
- Sub AgregarCampos()
- Dim Correlativo, Plazo, Fecha, IngrBruto, PorcImp, MontoImp, IngrNeto As New DataGridViewTextBoxColumn
- Correlativo.Name = "Correlativo"
- Plazo.Name = "Plazo"
- Fecha.Name = "Fecha"
- IngrBruto.Name = "Ingreso Bruto"
- PorcImp.Name = "% Impuesto"
- PorcImp.DefaultCellStyle.Format = Configuraciones.CodigoTXTPorcentaje
- MontoImp.Name = "Monto del Impuesto"
- IngrNeto.Name = "Ingreso Neto"
- dgvIntereses.Columns.Add(Correlativo)
- dgvIntereses.Columns.Add(Plazo)
- dgvIntereses.Columns.Add(Fecha)
- dgvIntereses.Columns.Add(IngrBruto)
- dgvIntereses.Columns.Add(PorcImp)
- dgvIntereses.Columns.Add(MontoImp)
- dgvIntereses.Columns.Add(IngrNeto)
- End Sub
- Sub CalcularPlazo()
- dgvIntereses.Rows.Clear()
- Dim PlazoGlobal As Integer = Operaciones.ConvertirEntero(txtPlazo.Text.ToString)
- Dim Periodicidad As String = String.Empty
- If Not cboPeriodicidad.SelectedValue Is Nothing Then
- Try
- Periodicidad = cboPeriodicidad.SelectedValue
- Catch ex As Exception
- End Try
- End If
- Dim FechaInicial As Date = dtpFechaOperacion.Value
- Dim IngrBruto As Double = 0.0
- Dim Monto As Double = Operaciones.ConvertirDecimal(txtMontoInversion.Text.ToString)
- Dim Tasa As Double = Operaciones.ConvertirDecimal(txtTasa.Text.ToString) / 100
- Dim Impuesto As Double = Operaciones.ConvertirDecimal(txtImpuesto.Text.ToString) / 100
- Dim Renta As Double = 0.0
- Dim FechaAnterior As Date
- Dim IngresoNeto As Double = 0.0
- Dim SumaIngresoBruto, SumaRenta, SumaIngresoNeto As Double
- Dim Plazo = NotaCalcular.CalcularPlazo(Periodicidad)
- Dim Cantidad = NotaCalcular.CalcularIteraciones(PlazoGlobal, Plazo)
- Dim Fecha As String = String.Empty
- For i As Integer = 1 To Cantidad
- If (i = 1) Then
- Fecha = Format(NotaCalcular.CalcularFecha(Plazo, FechaInicial), "dd/MM/yyyy")
- IngrBruto = NotaCalcular.CalculosIngrBruto(FechaInicial, Fecha, Monto, Tasa, Plazo)
- Else
- If (String.IsNullOrEmpty(Fecha.ToString)) Then
- Exit Sub
- End If
- FechaAnterior = Fecha
- Fecha = Format(NotaCalcular.CalcularFecha(Plazo, Fecha), "dd/MM/yyyy")
- IngrBruto = NotaCalcular.CalculosIngrBruto(FechaAnterior, Fecha, Monto, Tasa, Plazo)
- End If
- Renta = NotaCalcular.Renta(Impuesto, IngrBruto)
- IngresoNeto = NotaCalcular.CalculosIngNeto(IngrBruto, Renta)
- SumaIngresoBruto = SumaIngresoBruto + IngrBruto
- SumaRenta = SumaRenta + Renta
- SumaIngresoNeto = SumaIngresoNeto + IngresoNeto
- dgvIntereses.Rows.Add(i, Plazo, Fecha, IngrBruto, Impuesto, Renta, IngresoNeto)
- Next
- txtIngresoBruto.Text = SumaIngresoBruto
- txtRenta.Text = SumaRenta
- txtIngresoNeto.Text = SumaIngresoNeto
- End Sub
- Private Sub txtMontoInversion_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtMontoInversion.KeyPress
- If String.IsNullOrEmpty(txtMontoInversion.Text) Then
- If e.KeyChar = "." Then
- txtMontoInversion.Text = "0"
- Exit Sub
- End If
- End If
- If (Not txtMontoInversion.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 txtPlazo_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtPlazo.KeyPress
- If String.IsNullOrEmpty(txtPlazo.Text) Then
- If e.KeyChar = "." Then
- txtPlazo.Text = "0"
- Exit Sub
- End If
- End If
- If (Not txtPlazo.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 txtTasa_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtTasa.KeyPress
- If String.IsNullOrEmpty(txtTasa.Text) Then
- If e.KeyChar = "." Then
- txtTasa.Text = "0"
- Exit Sub
- End If
- End If
- If (Not txtTasa.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 txtMontoInversion_Leave(sender As Object, e As EventArgs) Handles txtMontoInversion.Leave
- RellenarDatos()
- End Sub
- Private Sub txtPlazo_Leave(sender As Object, e As EventArgs) Handles txtPlazo.Leave
- RellenarDatos()
- End Sub
- Private Sub txtTasa_Leave(sender As Object, e As EventArgs) Handles txtTasa.Leave
- RellenarDatos()
- End Sub
- Private Sub txtMontoInversion_KeyUp(sender As Object, e As KeyEventArgs) Handles txtMontoInversion.KeyUp
- If txtMontoInversion.Text = "." Then
- txtMontoInversion.Text = ".0"
- End If
- End Sub
- Private Sub txtPlazo_KeyUp(sender As Object, e As KeyEventArgs) Handles txtPlazo.KeyUp
- If txtPlazo.Text = "." Then
- txtPlazo.Text = ".0"
- End If
- End Sub
- Private Sub txtTasa_KeyUp(sender As Object, e As KeyEventArgs) Handles txtTasa.KeyUp
- If txtTasa.Text = "." Then
- txtTasa.Text = ".0"
- End If
- End Sub
- Private Sub txtImpuesto_TextChanged(sender As Object, e As EventArgs) Handles txtImpuesto.TextChanged
- CalcularPlazo()
- Calculo()
- End Sub
- End Class
|