| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220 |
- 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 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
- 'CALCULOS
- Function CalcularValorApagar() As Double
- Dim valor As Double
- valor = GetValorTransado() + GetComisionBolsa() + GetComisionCasa()
- 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
- dtpFechaVencimiento.Enabled = True
- txtPlazoInversion.ReadOnly = 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 = Operaciones.ConvertirDecimal(dat(1).ToString)
- dtpFechaOperacion.Value = Operaciones.ConvertirFecha(dat(2).ToString)
- dtpFechaLiquidacion.Value = Operaciones.ConvertirFecha(dat(3).ToString)
- txtPlazoInversion.Text = Operaciones.ConvertirEntero(dat(4).ToString)
- If (String.IsNullOrEmpty(txtRendimientoBruto.Text)) Then
- txtRendimientoBruto.Text = CStr(Format((txtRendimientoBruto.Text), "0.00")) + "%"
- Else
- txtRendimientoBruto.Text = CStr(Operaciones.ConvertirDecimal(dat(5).ToString) * 100) + "%"
- End If
- cboCasasCorredoras.SelectedValue = dat(6).ToString
- cboPeriodicidad.SelectedValue = dat(7).ToString
- Base = Operaciones.ConvertirEntero(dat(8).ToString)
- cboBase.SelectedIndex = Base
- If (String.IsNullOrEmpty(dat(9).ToString)) Then
- txtPorcentajeComisionCasa.Text = Format(((txtPorcentajeComisionCasa.Text.Trim("%")) * 100), "0.00").ToString + "%"
- Else
- txtPorcentajeComisionCasa.Text = CStr(Operaciones.ConvertirDecimal(dat(9).ToString) * 100) + "%"
- End If
- If (String.IsNullOrEmpty(dat(10).ToString)) Then
- txtPorcentajeComisionBolsa.Text = Format((txtPorcentajeComisionBolsa.Text.Trim("%")) * 100, "0.00").ToString + "%"
- Else
- txtPorcentajeComisionBolsa.Text = CStr(Operaciones.ConvertirDecimal(dat(10).ToString) * 100) + "%"
- End If
- cboCasasCorredoras.SelectedValue = dat(12).ToString
- 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 = Operaciones.ConvertirFecha(dat(14).ToString)
- End If
- ElseIf CET Then
- If (Not String.IsNullOrEmpty(dat(13).ToString)) Then
- dtpUltimaFecha.Value = Operaciones.ConvertirFecha(dat(13).ToString)
- End If
- End If
- If VCN Then
- txtOtrosCostos.Text = Operaciones.ConvertirDecimal(dat(15).ToString)
- End If
- End If
- End Sub
- Private Sub Modificar(ByVal Instrumento As String)
- Dim ValNom As Double = Operaciones.ConvertirDecimal(txtValorNominal.Text.ToString)
- Dim FOpe As Date = Operaciones.ConvertirFecha(dtpFechaOperacion.Value.ToString)
- Dim FLiq As Date = Operaciones.ConvertirFecha(dtpFechaLiquidacion.Value.ToString)
- Dim RendBruto As Double = Operaciones.ConvertirDecimal(txtRendimientoBruto.Text.ToString) / 100
- Dim Plazo As Integer = Operaciones.ConvertirEntero(txtPlazoInversion.Text.ToString)
- Dim PorcentajeComisionCasa As Double = Operaciones.ConvertirDecimal(txtPorcentajeComisionCasa.Text.ToString) / 100
- Dim PorcentajeComisionBolsa As Double = Operaciones.ConvertirDecimal(txtPorcentajeComisionBolsa.Text.ToString) / 100
- Dim ValTrans As Double = Operaciones.ConvertirDecimal(txtValorTransado.Text.ToString)
- Dim Precio As Double = Operaciones.ConvertirDecimal(txtPrecio.Text.ToString.ToString) / 100
- Dim TotPagar As Double = Operaciones.ConvertirDecimal(txtTotalAPagar.Text.ToString)
- Dim RendNeto As Double = Operaciones.ConvertirDecimal(txtRendimientoNeto.Text.ToString) / 100
- Dim IngrBruto As Double = Operaciones.ConvertirDecimal(txtIngresoBruto.Text.ToString)
- Dim IngrNeto As Double = Operaciones.ConvertirDecimal(txtIngresoNeto.Text.ToString)
- Dim ComisionCasaValor As Double = Operaciones.ConvertirDecimal(txtComisionCasa.Text.ToString)
- Dim ComisionBolsaValor As Double = Operaciones.ConvertirDecimal(txtComisionBolsa.Text.ToString)
- Dim FUlt As Date = Operaciones.ConvertirFecha(dtpUltimaFecha.Value.ToString)
- Dim FRed As Date = Operaciones.ConvertirFecha(dtpRedencion.Value.ToString)
- Dim FVenc As Date = Operaciones.ConvertirFecha(dtpFechaVencimiento.Value.ToString)
- Dim IntAcumulado As Double = Operaciones.ConvertirDecimal(txtInteresAcumulado.Text.ToString.ToString) / 100
- Dim OtrosCostos As Double = Operaciones.ConvertirDecimal(txtOtrosCostos.Text.ToString)
- Dim periodo As String = String.Empty
- If Not cboPeriodicidad.SelectedIndex = -1 Then
- periodo = cboPeriodicidad.SelectedValue
- End If
- Dim Casas As String = String.Empty
- If Not cboCasasCorredoras.SelectedIndex = -1 Then
- Casas = cboCasasCorredoras.SelectedValue
- 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 As Double = Operaciones.ConvertirDecimal(txtValorNominal.Text.ToString)
- Dim FOpe As Date = Operaciones.ConvertirFecha(dtpFechaOperacion.Value.ToString)
- Dim FLiq As Date = Operaciones.ConvertirFecha(dtpFechaLiquidacion.Value.ToString)
- Dim RendBruto As Double = Operaciones.ConvertirDecimal(txtRendimientoBruto.Text.ToString) / 100
- Dim Plazo As Integer = Operaciones.ConvertirEntero(txtPlazoInversion.Text.ToString)
- Dim PorcentajeComisionCasa As Double = Operaciones.ConvertirDecimal(txtPorcentajeComisionCasa.Text.ToString) / 100
- Dim PorcentajeComisionBolsa As Double = Operaciones.ConvertirDecimal(txtPorcentajeComisionBolsa.Text.ToString) / 100
- Dim ValTrans As Double = Operaciones.ConvertirDecimal(txtValorTransado.Text.ToString)
- Dim Precio As Double = Operaciones.ConvertirDecimal(txtPrecio.Text.ToString.ToString) / 100
- Dim TotPagar As Double = Operaciones.ConvertirDecimal(txtTotalAPagar.Text.ToString)
- Dim RendNeto As Double = Operaciones.ConvertirDecimal(txtRendimientoNeto.Text.ToString) / 100
- Dim IngrBruto As Double = Operaciones.ConvertirDecimal(txtIngresoBruto.Text.ToString)
- Dim IngrNeto As Double = Operaciones.ConvertirDecimal(txtIngresoNeto.Text.ToString)
- Dim ComisionCasaValor As Double = Operaciones.ConvertirDecimal(txtComisionCasa.Text.ToString)
- Dim ComisionBolsaValor As Double = Operaciones.ConvertirDecimal(txtComisionBolsa.Text.ToString)
- Dim FUlt As Date = Operaciones.ConvertirFecha(dtpUltimaFecha.Value.ToString)
- Dim FRed As Date = Operaciones.ConvertirFecha(dtpRedencion.Value.ToString)
- Dim FVenc As Date = Operaciones.ConvertirFecha(dtpFechaVencimiento.Value.ToString)
- Dim IntAcumulado As Double = Operaciones.ConvertirDecimal(txtInteresAcumulado.Text.ToString.ToString) / 100
- Dim periodo As String = String.Empty
- If Not cboPeriodicidad.SelectedIndex = -1 Then
- periodo = cboPeriodicidad.SelectedValue
- End If
- Dim Casas As String = String.Empty
- If Not cboCasasCorredoras.SelectedIndex = -1 Then
- Casas = cboCasasCorredoras.SelectedValue
- 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()
- Return Operaciones.ConvertirDecimal(txtValorNominal.Text.ToString) *
- (Operaciones.ConvertirDecimal(V_txtPrecio.ToString) / 100)
- End Function
- Function Precio()
- Dim Rendimiento As Double = Operaciones.ConvertirDecimal(txtRendimientoBruto.Text.ToString)
- Dim Plazo As Integer = Operaciones.ConvertirDecimal(txtPlazoInversion.Text.ToString)
- 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
- Return 0
- End Function
- Function ComisionCasa()
- Dim ValorTras As Double = ValorTrasado()
- Dim ComisionDeCasa As Double = Operaciones.ConvertirDecimal(txtPorcentajeComisionCasa.Text.ToString)
- Dim PlazoInversion As Integer = Operaciones.ConvertirEntero(txtPlazoInversion.Text.ToString)
- Dim Comision = 0.0
- If (IndexBase = 0) Then
- Comision = (ValorTras * ComisionDeCasa / 100) * (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 = (ValorTras * ComisionDeCasa / 100) * (DiasPrimeraFecha / 366)
- ComisionOpc2 = (ValorTras * ComisionDeCasa / 100) * (DiasSegundaFecha / 365)
- ElseIf CambioDeFecha = 2 Then
- DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha365(FechaInicial, PrimeraFechaUltima, CambioDeFecha)
- DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha366(UltimaFechaPrimero, FechaFinal, CambioDeFecha)
- ComisionOpc1 = (ValorTras * ComisionDeCasa / 100) * (DiasPrimeraFecha / 365)
- ComisionOpc2 = (ValorTras * ComisionDeCasa / 100) * (DiasSegundaFecha / 366)
- End If
- Comision = ComisionOpc1 + ComisionOpc2
- Else
- If (Operaciones.AñoBisiesto(FechaInicial) = 364) Then
- Comision = (ValorTras * ComisionDeCasa / 100) * (PlazoInversion / 365)
- End If
- If (Operaciones.AñoBisiesto(FechaInicial) = 365) Then
- Comision = (ValorTras * ComisionDeCasa / 100) * (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 = (ValorTras * ComisionDeCasa / 100) * (DiasPrimeraFecha / 366)
- ComisionOpc2 = (ValorTras * ComisionDeCasa / 100) * (DiasSegundaFecha / 365)
- ElseIf CambioDeFecha = 2 Then
- DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha360(FechaInicial, PrimeraFechaUltima, CambioDeFecha)
- DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha360(UltimaFechaPrimero, FechaFinal, CambioDeFecha)
- ComisionOpc1 = (ValorTras * ComisionDeCasa / 100) * (DiasPrimeraFecha / 365)
- ComisionOpc2 = (ValorTras * ComisionDeCasa / 100) * (DiasSegundaFecha / 366)
- End If
- Comision = ComisionOpc1 + ComisionOpc2
- Else
- If (Operaciones.AñoBisiesto(FechaInicial) = 364) Then
- Comision = (ValorTras * ComisionDeCasa / 100) * (PlazoInversion / 365)
- End If
- If (Operaciones.AñoBisiesto(FechaInicial) = 365) Then
- Comision = (ValorTras * ComisionDeCasa / 100) * (PlazoInversion / 366)
- End If
- End If
- Return Comision
- Else
- Comision = (ValorTras * ComisionDeCasa / 100) * (PlazoInversion / 360)
- Return Comision
- End If
- Return 0
- End Function
- Function ComisionBolsa()
- Dim ValorTras As Double = ValorTrasado()
- Dim ComisionDeBolsa As Double = Operaciones.ConvertirDecimal(txtPorcentajeComisionBolsa.Text.ToString)
- Dim PlazoInversion As Integer = Operaciones.ConvertirEntero(txtPlazoInversion.Text.ToString)
- Dim Comision As Double = 0.0
- If (IndexBase = 0) Then
- Comision = (ValorTras * ComisionDeBolsa / 100) * (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 = (ValorTras * ComisionDeBolsa / 100) * (DiasPrimeraFecha / 366)
- ComisionOpc2 = (ValorTras * ComisionDeBolsa / 100) * (DiasSegundaFecha / 365)
- ElseIf CambioDeFecha = 2 Then
- DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha365(FechaInicial, PrimeraFechaUltima, CambioDeFecha)
- DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha366(UltimaFechaPrimero, FechaFinal, CambioDeFecha)
- ComisionOpc1 = (ValorTras * ComisionDeBolsa / 100) * (DiasPrimeraFecha / 365)
- ComisionOpc2 = (ValorTras * ComisionDeBolsa / 100) * (DiasSegundaFecha / 366)
- End If
- Comision = ComisionOpc1 + ComisionOpc2
- Else
- If (Operaciones.AñoBisiesto(FechaInicial) = 364) Then
- Comision = (ValorTras * ComisionDeBolsa / 100) * (PlazoInversion / 365)
- End If
- If (Operaciones.AñoBisiesto(FechaInicial) = 365) Then
- Comision = (ValorTras * ComisionDeBolsa / 100) * (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 = (ValorTras * ComisionDeBolsa / 100) * (DiasPrimeraFecha / 366)
- ComisionOpc2 = (ValorTras * ComisionDeBolsa / 100) * (DiasSegundaFecha / 365)
- ElseIf CambioDeFecha = 2 Then
- DiasPrimeraFecha = Operaciones.DiasDespuesCambioPrimeraFecha360(FechaInicial, PrimeraFechaUltima, CambioDeFecha)
- DiasSegundaFecha = Operaciones.DiasDespuesCambioPrimeraFecha360(UltimaFechaPrimero, FechaFinal, CambioDeFecha)
- ComisionOpc1 = (ValorTras * ComisionDeBolsa / 100) * (DiasPrimeraFecha / 365)
- ComisionOpc2 = (ValorTras * ComisionDeBolsa / 100) * (DiasSegundaFecha / 366)
- End If
- Comision = ComisionOpc1 + ComisionOpc2
- Else
- If (Operaciones.AñoBisiesto(FechaInicial) = 364) Then
- Comision = (ValorTras * ComisionDeBolsa / 100) * (PlazoInversion / 365)
- End If
- If (Operaciones.AñoBisiesto(FechaInicial) = 365) Then
- Comision = (ValorTras * ComisionDeBolsa / 100) * (PlazoInversion / 366)
- End If
- End If
- Return Comision
- Else
- Comision = (ValorTras * ComisionDeBolsa / 100) * (PlazoInversion / 360)
- Return Comision
- End If
- Return 0
- End Function
- Function RendimientoNeto()
- Dim ValorNominal As Double = Operaciones.ConvertirDecimal(txtValorNominal.Text.ToString)
- Dim TotalPagar As Double = Operaciones.ConvertirDecimal(V_txtTotalAPagar.ToString)
- Dim PlazoInversion As Integer = Operaciones.ConvertirEntero(txtPlazoInversion.Text.ToString)
- 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
- ValorNominal = Operaciones.ConvertirDecimal(txtValorNominal.Text.ToString)
- ValorTrasado = Operaciones.ConvertirDecimal(V_txtValorTransado.ToString)
- Dim TasaPeriodo = Operaciones.ConvertirDecimal(txtRendimientoBruto.Text.ToString)
- TasaPeriodo = Operaciones.ConvertirDecimal(txtRendimientoBruto.Text.ToString) / 100
- Dim Base As Integer = 365
- Dim Bruto As Double = 0
- Dim Plazo As Integer = 0
- Plazo = Operaciones.ConvertirEntero(txtPlazoInversion.Text.ToString)
- 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 As Double = Operaciones.ConvertirDecimal(txtValorNominal.Text.ToString)
- Dim TotalPagar As Double = Operaciones.ConvertirDecimal(V_txtTotalAPagar.ToString)
- Dim Neto As Double = 0
- If chbValorPar.Checked Or CET Then
- Dim IngBruto = Operaciones.ConvertirDecimal(txtIngresoBruto.Text.ToString)
- Dim Descuentos = (Operaciones.ConvertirDecimal(txtComisionBolsa.Text.ToString) + Operaciones.ConvertirDecimal(txtComisionCasa.Text.ToString))
- 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 As Double = Operaciones.ConvertirDecimal(V_txtValorTransado.ToString)
- Dim ComisionCasa As Double = Operaciones.ConvertirDecimal(V_txtComisionCasa.ToString)
- Dim ComisionBolsa As Double = Operaciones.ConvertirDecimal(V_txtComisionBolsa.ToString)
- Dim OtrCost As Double = Operaciones.ConvertirDecimal(txtOtrosCostos.Text.ToString)
- txtInteresAcumulado.Text = Operaciones.ConvertirDecimal(txtInteresAcumulado.Text.ToString)
- Dim InteresAcumulado = Operaciones.ConvertirDecimal(txtInteresAcumulado.Text.ToString)
- 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
- Dim FechaVencimiento = dtpFechaVencimiento.Value
- If (IndexBase = 0 Or IndexBase = 2) Then
- If VCN Then
- txtPlazoInversion.Text = Operaciones.Base360(Fechaliquidacion, FechaVencimiento)
- Else
- dtpFechaVencimiento.Value = Operaciones.FechaDias360(Fechaliquidacion, Dias)
- End If
- ElseIf IndexBase = 1 Or IndexBase = 3 Then
- If VCN Then
- txtPlazoInversion.Text = Operaciones.Base365(Fechaliquidacion, FechaVencimiento)
- Else
- dtpFechaVencimiento.Value = dtpFechaLiquidacion.Value.AddDays(Dias)
- End If
- 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
|