Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        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);
 }
Ejemplo n.º 11
0
 private static double AsigneLaTasaBrutaConTratamiento(DatosDeInversionConTratamientoFiscal losDatosConTratamiento)
 {
     return(new TasaBruta(losDatosConTratamiento).Calculado());
 }
Ejemplo n.º 12
0
 public RendimientoPorDescuentoConTratamiento(DatosParaLaInversion losDatos)
 {
     losDatosConTratamiento = AsigneLosDatosConTratamiento(losDatos);
 }
Ejemplo n.º 13
0
 public TasaNetaConTratamiento(DatosParaLaInversion losDatos)
 {
     losDatosConTratamiento = AsigneLosDatosConTratamiento(losDatos);
 }
Ejemplo n.º 14
0
 private static double AsigneElValorTransadoBrutoConTratamiento(DatosDeInversionConTratamientoFiscal losDatosConTratamiento)
 {
     return(new ValorTransadoBrutoConTratamientoFiscal(losDatosConTratamiento).ComoNumero());
 }
Ejemplo n.º 15
0
 public TasaBrutaConTratamiento(double elValorFacial, double elValorTransadoNeto,
                                double laTasaDeImpuesto, DateTime laFechaActual, DateTime laFechaDeVencimiento)
 {
     losDatosConTratamiento = AsigneLosDatosConTratamiento(elValorFacial, elValorTransadoNeto, laTasaDeImpuesto, laFechaActual, laFechaDeVencimiento);
 }
Ejemplo n.º 16
0
 private static double AsigneElImpuestoPagadoConTratamiento(DatosDeInversionConTratamientoFiscal losDatosConTratamiento)
 {
     return(losDatosConTratamiento.Impuesto);
 }
 public ImpuestoPagadoConTratamiento(DatosParaLaInversion losDatos)
 {
     losDatosConTratamiento = AsigneLosDatosConTratamiento(losDatos);
 }
Ejemplo n.º 18
0
 private static double AsigneLaTasaNetaConTratamiento(DatosDeInversionConTratamientoFiscal losDatosConTratamiento)
 {
     return(losDatosConTratamiento.TasaNeta);
 }
Ejemplo n.º 19
0
 private static double AsigneElRendimientoPorDescuentoConTratamiento(DatosDeInversionConTratamientoFiscal losDatosConTratamiento)
 {
     return(new RendimientosPorDescuento(losDatosConTratamiento).ComoNumero());
 }