private static double GenereLaTasaNetaConTratamiento(double elValorFacial, double elValorTransadoNeto, double laTasaDeImpuesto, DateTime laFechaActual, DateTime laFechaDeVencimiento) { DatosDeInversionConTratamientoFiscal losDatosConTratamiento = AsigneLosDatosConTratamiento(elValorFacial, elValorTransadoNeto, laTasaDeImpuesto, laFechaActual, laFechaDeVencimiento); return(AsigneLaTasaNetaConTratamiento(losDatosConTratamiento)); }
public TasaNetaConTratamiento(DatosParaLaInversion losDatos) { losDatosConTratamiento = new DatosDeInversionConTratamientoFiscal(); losDatosConTratamiento.ValorFacial = losDatos.ValorFacial; losDatosConTratamiento.ValorTransadoNeto = losDatos.ValorTransadoNeto; losDatosConTratamiento.TasaDeImpuesto = losDatos.TasaDeImpuesto; losDatosConTratamiento.FechaActual = losDatos.FechaActual; losDatosConTratamiento.FechaDeVencimiento = losDatos.FechaDeVencimiento; }
public static Inversion GenereUnaNuevaInversion(double elValorFacial, double elValorTransadoNeto, double laTasaDeImpuesto, DateTime laFechaActual, DateTime laFechaDeVencimiento, bool tieneTratamientoFiscal, string elConsecutivoParaElCodigoDeReferencia) { Inversion laNuevaInversion = new Inversion(); DatosParaElRequerimiento losDatosParaElRequerimiento = new DatosParaElRequerimiento(); losDatosParaElRequerimiento.Fecha = laFechaActual; losDatosParaElRequerimiento.NumeroDelCliente = "22"; losDatosParaElRequerimiento.NumeroDelSistema = "5"; losDatosParaElRequerimiento.NumeroConsecutivo = elConsecutivoParaElCodigoDeReferencia; laNuevaInversion.CodigoDeReferencia = new CodigoDeReferencia(losDatosParaElRequerimiento).ComoTexto(); if (tieneTratamientoFiscal) { DatosDeInversionConTratamientoFiscal losDatosConTratamiento = new DatosDeInversionConTratamientoFiscal(); losDatosConTratamiento.ValorFacial = elValorFacial; losDatosConTratamiento.ValorTransadoNeto = elValorTransadoNeto; losDatosConTratamiento.TasaDeImpuesto = laTasaDeImpuesto; losDatosConTratamiento.FechaActual = laFechaActual; losDatosConTratamiento.FechaDeVencimiento = laFechaDeVencimiento; laNuevaInversion.TasaNeta = losDatosConTratamiento.TasaNeta; laNuevaInversion.TasaBruta = new TasaBruta(losDatosConTratamiento).Calculado(); laNuevaInversion.ValorTransadoBruto = new ValorTransadoBrutoConTratamientoFiscal(losDatosConTratamiento).ComoNumero(); laNuevaInversion.ImpuestoPagado = losDatosConTratamiento.Impuesto; laNuevaInversion.RendimientoPorDescuento = new RendimientosPorDescuento(losDatosConTratamiento).ComoNumero(); } else { DatosDeInversionSinTratamientoFiscal losDatosSinTratamiento = new DatosDeInversionSinTratamientoFiscal(); losDatosSinTratamiento.ValorFacial = elValorFacial; losDatosSinTratamiento.ValorTransadoNeto = elValorTransadoNeto; losDatosSinTratamiento.TasaDeImpuesto = laTasaDeImpuesto; losDatosSinTratamiento.FechaActual = laFechaActual; losDatosSinTratamiento.FechaDeVencimiento = laFechaDeVencimiento; laNuevaInversion.TasaNeta = losDatosSinTratamiento.TasaNeta; laNuevaInversion.TasaBruta = new TasaBruta(losDatosSinTratamiento).Calculado(); laNuevaInversion.ValorTransadoBruto = elValorTransadoNeto; laNuevaInversion.ImpuestoPagado = losDatosSinTratamiento.Impuesto; laNuevaInversion.RendimientoPorDescuento = new RendimientosPorDescuento(losDatosSinTratamiento).ComoNumero(); } laNuevaInversion.FechaDeValor = laFechaActual; laNuevaInversion.FechaDeVencimiento = laFechaDeVencimiento; return(laNuevaInversion); }
private DatosDeInversionConTratamientoFiscal AsigneLosDatosConTratamiento(double elValorFacial, double elValorTransadoNeto, double laTasaDeImpuesto, DateTime laFechaActual, DateTime laFechaDeVencimiento) { DatosDeInversionConTratamientoFiscal losDatosConTratamiento = new DatosDeInversionConTratamientoFiscal(); losDatosConTratamiento.ValorFacial = elValorFacial; losDatosConTratamiento.ValorTransadoNeto = elValorTransadoNeto; losDatosConTratamiento.TasaDeImpuesto = laTasaDeImpuesto; losDatosConTratamiento.FechaActual = laFechaActual; losDatosConTratamiento.FechaDeVencimiento = laFechaDeVencimiento; return(losDatosConTratamiento); }
private DatosDeInversionConTratamientoFiscal AsigneLosDatosConTratamiento(DatosParaLaInversion losDatos) { DatosDeInversionConTratamientoFiscal losDatosConTratamiento = new DatosDeInversionConTratamientoFiscal(); losDatosConTratamiento.ValorFacial = losDatos.ValorFacial; losDatosConTratamiento.ValorTransadoNeto = losDatos.ValorTransadoNeto; losDatosConTratamiento.TasaDeImpuesto = losDatos.TasaDeImpuesto; losDatosConTratamiento.FechaActual = losDatos.FechaActual; losDatosConTratamiento.FechaDeVencimiento = losDatos.FechaDeVencimiento; return(losDatosConTratamiento); }
public void Calculado_TieneTratamientoFiscal_RedondeoHaciaAbajo() { elResultadoEsperado = 1621.6216; losDatos = new DatosDeInversionConTratamientoFiscal(); losDatos.ValorFacial = 320000; losDatos.ValorTransadoNeto = 300000; losDatos.TasaDeImpuesto = 0.08; losDatos.FechaDeVencimiento = new DateTime(2016, 10, 10); losDatos.FechaActual = new DateTime(2016, 3, 3); elResultadoObtenido = new ImpuestoConTratamientoFiscalRedondeado(losDatos).Redondeado(); Assert.AreEqual(elResultadoEsperado, elResultadoObtenido); }
public void CalculeElRendimientoPorDescuento_TieneTratamientoFiscal_RedondeoHaciaArriba() { elResultadoEsperado = 22159.3591; losDatosConTratamiento = new DatosDeInversionConTratamientoFiscal(); losDatosConTratamiento.ValorFacial = 320500; losDatosConTratamiento.ValorTransadoNeto = 300000; losDatosConTratamiento.TasaDeImpuesto = 0.08; losDatosConTratamiento.FechaActual = new DateTime(2016, 10, 10); losDatosConTratamiento.FechaDeVencimiento = new DateTime(2016, 3, 3); elResultadoObtenido = new RendimientosPorDescuento(losDatosConTratamiento).ComoNumero(); Assert.AreEqual(elResultadoEsperado, elResultadoObtenido, 0.0001); }
public void ComoNumero_ValorFacialTransadoNetoTasaImpuestoFechaActualYVencimiento_ValorTransadoBrutoCorrecto() { elResultadoEsperado = 298378.3783; losDatos = new DatosDeInversionConTratamientoFiscal(); losDatos.ValorFacial = 320000; losDatos.ValorTransadoNeto = 300000; losDatos.TasaDeImpuesto = 0.08; losDatos.FechaDeVencimiento = new DateTime(2016, 10, 10); losDatos.FechaActual = new DateTime(2016, 3, 3); elResultadoObtenido = new ValorTransadoBrutoConTratamientoFiscal(losDatos).ComoNumero(); Assert.AreEqual(elResultadoEsperado, elResultadoObtenido, 0.0001); }
public void CalculeElImpuesto_TieneTratamientoFiscal_RedondeoHaciaArriba() { elResultadoEsperado = 1659.3592; losDatosConTratamientoFiscal = new DatosDeInversionConTratamientoFiscal(); losDatosConTratamientoFiscal.ValorFacial = 320500; losDatosConTratamientoFiscal.ValorTransadoNeto = 300000; losDatosConTratamientoFiscal.TasaDeImpuesto = 0.08; losDatosConTratamientoFiscal.FechaActual = new DateTime(2016, 10, 10); losDatosConTratamientoFiscal.FechaDeVencimiento = new DateTime(2016, 3, 3); losDatosConTratamientoFiscal.tieneTratamientoFiscal = true; elResultadoObtenido = losDatosConTratamientoFiscal.Impuesto; Assert.AreEqual(elResultadoEsperado, elResultadoObtenido); }
public ValorTransadoBrutoConTratamiento(DatosParaLaInversion losDatos) { losDatosConTratamiento = AsigneLosDatosConTratamiento(losDatos); }
private static double AsigneLaTasaBrutaConTratamiento(DatosDeInversionConTratamientoFiscal losDatosConTratamiento) { return(new TasaBruta(losDatosConTratamiento).Calculado()); }
public RendimientoPorDescuentoConTratamiento(DatosParaLaInversion losDatos) { losDatosConTratamiento = AsigneLosDatosConTratamiento(losDatos); }
public TasaNetaConTratamiento(DatosParaLaInversion losDatos) { losDatosConTratamiento = AsigneLosDatosConTratamiento(losDatos); }
private static double AsigneElValorTransadoBrutoConTratamiento(DatosDeInversionConTratamientoFiscal losDatosConTratamiento) { return(new ValorTransadoBrutoConTratamientoFiscal(losDatosConTratamiento).ComoNumero()); }
public TasaBrutaConTratamiento(double elValorFacial, double elValorTransadoNeto, double laTasaDeImpuesto, DateTime laFechaActual, DateTime laFechaDeVencimiento) { losDatosConTratamiento = AsigneLosDatosConTratamiento(elValorFacial, elValorTransadoNeto, laTasaDeImpuesto, laFechaActual, laFechaDeVencimiento); }
private static double AsigneElImpuestoPagadoConTratamiento(DatosDeInversionConTratamientoFiscal losDatosConTratamiento) { return(losDatosConTratamiento.Impuesto); }
public ImpuestoPagadoConTratamiento(DatosParaLaInversion losDatos) { losDatosConTratamiento = AsigneLosDatosConTratamiento(losDatos); }
private static double AsigneLaTasaNetaConTratamiento(DatosDeInversionConTratamientoFiscal losDatosConTratamiento) { return(losDatosConTratamiento.TasaNeta); }
private static double AsigneElRendimientoPorDescuentoConTratamiento(DatosDeInversionConTratamientoFiscal losDatosConTratamiento) { return(new RendimientosPorDescuento(losDatosConTratamiento).ComoNumero()); }