public NuevaInversion(DatosDeLaInversion losDatos) { FechaDeValor = losDatos.FechaActual; laFechaDeVencimiento = CalculeFechaDeVencimiento(losDatos); FechaDeVencimiento = laFechaDeVencimiento; laTasaBruta = ObtengaTasaBruta(losDatos); TasaBruta = laTasaBruta; elValorTransadoBruto = ObtengaValorTransadoBruto(losDatos); ValorTransadoBruto = elValorTransadoBruto; losDatosDeImpuesto = new DatosDeImpuesto(); losDatosDeImpuesto.TratamientoFiscal = losDatos.TratamientoFiscal; losDatosDeImpuesto.ValorTransadoBruto = ValorTransadoBruto; losDatosDeImpuesto.ValorTransadoNeto = losDatos.ValorTransadoNeto; elImpuestoPagado = ObtengaImpuestoPagado(losDatosDeImpuesto); ImpuestoPagado = elImpuestoPagado; losDatosDeRendimiento = new DatosDeRendimiento(); losDatosDeRendimiento.ValorFacial = losDatos.ValorFacial; losDatosDeRendimiento.ValorTransadoBruto = ValorTransadoBruto; elRendimientoPorDescuento = ObtengaRendimientoPorDescuento(losDatosDeRendimiento); RendimientoPorDescuento = elRendimientoPorDescuento; }
private static decimal DetermineTasaNeta(DatosDeLaInversion losDatos) { //TODO Más de una Operacion if (DateTime.IsLeapYear(losDatos.FechaActual.Year)) { return((losDatos.ValorFacial - losDatos.ValorTransadoNeto) / (losDatos.ValorTransadoNeto * ((decimal)losDatos.PlazoEnDias / 366)) * 100); } else { return((losDatos.ValorFacial - losDatos.ValorTransadoNeto) / (losDatos.ValorTransadoNeto * ((decimal)losDatos.PlazoEnDias / 365)) * 100); } }
private decimal DetermineValorTransadoBruto(DatosDeLaInversion losDatos) { //TODO: Mas de una operación if (DateTime.IsLeapYear(losDatos.FechaActual.Year)) { return(losDatos.ValorFacial / (1 + ((TasaBruta) / 100) * ((decimal)losDatos.PlazoEnDias / 366))); } else { return(losDatos.ValorFacial / (1 + ((TasaBruta) / 100) * ((decimal)losDatos.PlazoEnDias / 365))); } }
private decimal ObtengaValorTransadoBruto(DatosDeLaInversion losDatos) { //TODO: Mas de una operación if (losDatos.TratamientoFiscal) { return(DetermineValorTransadoBruto(losDatos)); } else { return(losDatos.ValorTransadoNeto); } }
public TasaBruta(DatosDeLaInversion losDatos) { TasaNeta = DetermineTasaNeta(losDatos); TasaDeImpuesto = losDatos.TasaDeImpuesto; }
private decimal ObtengaTasaBruta(DatosDeLaInversion losDatos) { return(new TasaBruta(losDatos).ComoNumero()); }
private DateTime CalculeFechaDeVencimiento(DatosDeLaInversion losDatos) { return(losDatos.FechaActual.AddDays(losDatos.PlazoEnDias)); }