示例#1
0
        private static double GenereLaTasaNetaSinTratamiento(double elValorFacial, double elValorTransadoNeto,
                                                             double laTasaDeImpuesto, DateTime laFechaActual, DateTime laFechaDeVencimiento)
        {
            DatosDeInversionSinTratamientoFiscal losDatosSinTratamiento = AsigneLosDatosSinTratamiento(elValorFacial, elValorTransadoNeto, laTasaDeImpuesto, laFechaActual, laFechaDeVencimiento);

            return(AsigneLaTasaNetaSinTratamiento(losDatosSinTratamiento));
        }
        public TasaNetaSinTratamiento(DatosParaLaInversion losDatos)
        {
            losDatosSinTratamiento = new DatosDeInversionSinTratamientoFiscal();

            losDatosSinTratamiento.ValorFacial        = losDatos.ValorFacial;
            losDatosSinTratamiento.ValorTransadoNeto  = losDatos.ValorTransadoNeto;
            losDatosSinTratamiento.TasaDeImpuesto     = losDatos.TasaDeImpuesto;
            losDatosSinTratamiento.FechaActual        = losDatos.FechaActual;
            losDatosSinTratamiento.FechaDeVencimiento = losDatos.FechaDeVencimiento;
        }
示例#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);
        }
示例#4
0
        private static DatosDeInversionSinTratamientoFiscal AsigneLosDatosSinTratamiento(double elValorFacial, double elValorTransadoNeto, double laTasaDeImpuesto, DateTime laFechaActual, DateTime laFechaDeVencimiento)
        {
            DatosDeInversionSinTratamientoFiscal losDatosSinTratamiento = new DatosDeInversionSinTratamientoFiscal();

            losDatosSinTratamiento.ValorFacial        = elValorFacial;
            losDatosSinTratamiento.ValorTransadoNeto  = elValorTransadoNeto;
            losDatosSinTratamiento.TasaDeImpuesto     = laTasaDeImpuesto;
            losDatosSinTratamiento.FechaActual        = laFechaActual;
            losDatosSinTratamiento.FechaDeVencimiento = laFechaDeVencimiento;

            return(losDatosSinTratamiento);
        }
        private DatosDeInversionSinTratamientoFiscal AsigneLosDatosSinTratamiento(DatosParaLaInversion losDatos)
        {
            DatosDeInversionSinTratamientoFiscal losDatosSinTratamiento = new DatosDeInversionSinTratamientoFiscal();

            losDatosSinTratamiento.ValorFacial        = losDatos.ValorFacial;
            losDatosSinTratamiento.ValorTransadoNeto  = losDatos.ValorTransadoNeto;
            losDatosSinTratamiento.TasaDeImpuesto     = losDatos.TasaDeImpuesto;
            losDatosSinTratamiento.FechaActual        = losDatos.FechaActual;
            losDatosSinTratamiento.FechaDeVencimiento = losDatos.FechaDeVencimiento;

            return(losDatosSinTratamiento);
        }
示例#6
0
        public void CalculeElRendimientoPorDescuento_SinTratamientoFiscal_SinRedondeo()
        {
            elResultadoEsperado = 19999.9999;

            losDatosSinTratamiento                    = new DatosDeInversionSinTratamientoFiscal();
            losDatosSinTratamiento.ValorFacial        = 320000;
            losDatosSinTratamiento.ValorTransadoNeto  = 300000.0001;
            losDatosSinTratamiento.TasaDeImpuesto     = 0.08;
            losDatosSinTratamiento.FechaActual        = new DateTime(2016, 10, 10);
            losDatosSinTratamiento.FechaDeVencimiento = new DateTime(2016, 3, 3);

            elResultadoObtenido = new RendimientosPorDescuento(losDatosSinTratamiento).ComoNumero();

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido, 0.0001);
        }
示例#7
0
        public void Calculado_SinTratamientoFiscal_SinRedondeo()
        {
            elResultadoEsperado = 12.3008;

            losDatos                    = new DatosDeInversionSinTratamientoFiscal();
            losDatos.ValorFacial        = 320500;
            losDatos.ValorTransadoNeto  = 300000;
            losDatos.TasaDeImpuesto     = 0.08;
            losDatos.FechaDeVencimiento = new DateTime(2016, 10, 10);
            losDatos.FechaActual        = new DateTime(2016, 3, 3);

            elResultadoObtenido = new TasaBruta(losDatos).Calculado();

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido, 0.0001);
        }
示例#8
0
        public void CalculeElImpuesto_SinTratamientoFiscal_EsCero()
        {
            elResultadoEsperado = 0;

            losDatosSinTratamientoFiscal                        = new DatosDeInversionSinTratamientoFiscal();
            losDatosSinTratamientoFiscal.ValorFacial            = 320000;
            losDatosSinTratamientoFiscal.ValorTransadoNeto      = 300000.0001;
            losDatosSinTratamientoFiscal.TasaDeImpuesto         = 0.08;
            losDatosSinTratamientoFiscal.FechaActual            = new DateTime(2016, 10, 10);
            losDatosSinTratamientoFiscal.FechaDeVencimiento     = new DateTime(2016, 3, 3);
            losDatosSinTratamientoFiscal.tieneTratamientoFiscal = false;

            elResultadoObtenido = losDatosSinTratamientoFiscal.Impuesto;

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
示例#9
0
 public RendimientoPorDescuentoSinTratamiento(DatosParaLaInversion losDatos)
 {
     losDatosSinTratamiento = AsigneLosDatosSinTratamiento(losDatos);
 }
 public TasaBrutaSinTratamiento(DatosParaLaInversion losDatos)
 {
     losDatosSinTratamiento = AsigneLosDatosSinTratamiento(losDatos);
 }
示例#11
0
 private static double AsigneElRendimientoPorDescuentoSinTratamiento(DatosDeInversionSinTratamientoFiscal losDatosSinTratamiento)
 {
     return(new RendimientosPorDescuento(losDatosSinTratamiento).ComoNumero());
 }
示例#12
0
 private static double AsigneElImpuestoPagadoSinTratamiento(DatosDeInversionSinTratamientoFiscal losDatosSinTratamiento)
 {
     return(losDatosSinTratamiento.Impuesto);
 }
示例#13
0
 private static double AsigneLaTasaBrutaSinTratamiento(DatosDeInversionSinTratamientoFiscal losDatosSinTratamiento)
 {
     return(new TasaBruta(losDatosSinTratamiento).Calculado());
 }
示例#14
0
 private static double AsigneLaTasaNetaSinTratamiento(DatosDeInversionSinTratamientoFiscal losDatosSinTratamiento)
 {
     return(losDatosSinTratamiento.TasaNeta);
 }
 public TasaBrutaSinTratamiento(double elValorFacial, double elValorTransadoNeto,
                                double laTasaDeImpuesto, DateTime laFechaActual, DateTime laFechaDeVencimiento)
 {
     losDatosSinTratamiento = AsigneLosDatosSinTratamiento(elValorFacial, elValorTransadoNeto, laTasaDeImpuesto, laFechaActual, laFechaDeVencimiento);
 }
 public ImpuestoPagadoSinTratamiento(DatosParaLaInversion losDatos)
 {
     losDatosSinTratamiento = AsigneLosDatosSinTratamiento(losDatos);
 }