private DatosParaLaInversion ObtengaLosDatos(DatosParaLaInversionFinal losDatosFinales) { DatosParaLaInversion losDatos = DetermineElTipo(losDatosFinales); DateTime laFechaActual = ObtengaLaFechaActual(); //TODO: ARREGLAR ESTOS DETALLES DatosParaLaFecha losDatosParaLaFecha = new DatosParaLaFecha(); losDatosParaLaFecha.PlazoEnDias = losDatosFinales.PlazoEnDias; losDatosParaLaFecha.FechaActual = laFechaActual; losDatos.ValorFacial = losDatosFinales.ValorFacial; losDatos.ValorTransadoNeto = losDatosFinales.ValorTransadoNeto; losDatos.TasaDeImpuesto = ObtengaLaTasaDeImpuesto(laFechaActual); losDatos.FechaActual = laFechaActual; losDatos.FechaDeVencimiento = ObtengaLaFechaDeVencimiento(losDatosParaLaFecha); losDatos.ConsecutivoParaElCodigoDeReferencia = ObtengaElConsecutivoComoTexto(laFechaActual); return(losDatos); }
private DatosParaLaInversion DetermineElTipo(DatosParaLaInversionFinal losDatosFinales) { DatosParaLaInversion losDatos; switch (losDatosFinales.TipoDeInversion) { case TipoDeInversion.ConTratamientoFiscal: losDatos = new DatosParaLaInversionConTratamiento(); break; case TipoDeInversion.SinTratamientoFiscal: losDatos = new DatosParaLaInversionSinTratamiento(); break; case TipoDeInversion.Tratamiento360: losDatos = new DatosParaLaInversion360(); break; default: throw new ArgumentException("Error: tipo de inversion invalido."); } return(losDatos); }
public InversionFinal(DatosParaLaInversionFinal losDatosFinales) { losDatos = ObtengaLosDatos(losDatosFinales); }