public void realizarRegistroBitacora(DTOServicioAhorroInversion dtoInversion) { foreach (IEscritor elemento in factoryIEscritor) { elemento.escribirMovimiento(dtoInversion); } }
private void resultado() { DTOCliente cliente = crearDTOCliente(); DTOServicioAhorroInversion inversion = crearDTOInversion(); controlador.realizarInversion(inversion, cliente); Console.Clear(); Console.WriteLine("***** Sistema de Inversión y Ahorro *****\n"); Console.WriteLine("***** Datos del cliente y su operación bancaria *****"); Console.WriteLine("Cliente:\t\t\t" + cliente.Nombre + " " + cliente.PrimerApellido + " " + cliente.SegundoApellido); Console.WriteLine("Monto de ahorro e inversión:\t" + inversion.MontoInversion + " " + nombreMoneda); Console.WriteLine("Plazo de la inversión en días:\t" + inversion.PlazoDias + " días"); Console.WriteLine("Sistema de ahorro e inversión:\t" + nombreServicio); Console.WriteLine("Interés anual correspondiente:\t" + inversion.Interes); Console.WriteLine("\n***Rendimiento***"); if (claseServicio == "CertificadoInversion") { Console.WriteLine("Plazo en días\t\t\t" + inversion.PlazoDias); Console.WriteLine("Monto de ahorro e inversión\t" + inversion.MontoInversion + " " + nombreMoneda); Console.WriteLine("Intereses ganados\t\t" + inversion.InteresGanado); Console.WriteLine("Impuesto de Renta\t\t" + inversion.ImpuestoRenta); Console.WriteLine("Saldo Final\t\t\t" + inversion.SaldoFinal); } else { Console.WriteLine("Plazo en días\t\t\t" + inversion.PlazoDias); Console.WriteLine("Monto de ahorro e inversión\t" + inversion.MontoInversion + " " + nombreMoneda); Console.WriteLine("Intereses ganados\t\t" + inversion.InteresGanado); Console.WriteLine("Saldo Final\t\t\t" + inversion.SaldoFinal); } Console.WriteLine("--->Última línea<---"); }
public ServicioAhorroInversion(DTOServicioAhorroInversion dtoInversion) { this.montoInversion = dtoInversion.MontoInversion; this.plazoDias = dtoInversion.PlazoDias; this.interes = dtoInversion.Interes; this.moneda = dtoInversion.Moneda; this.cliente = dtoInversion.Cliente; cantidadInstancias++; }
public override ServicioAhorroInversion crearServicioAhorroInversion(DTOServicioAhorroInversion dtoServicio) { var assembly = Assembly.GetExecutingAssembly(); var type = assembly.GetType("SistemaDeInversion.Modelo." + dtoServicio.TipoServicio); object[] args = { dtoServicio }; ServicioAhorroInversion claseConcreta = (ServicioAhorroInversion)Activator.CreateInstance(type, args); return(claseConcreta); }
private DTOServicioAhorroInversion crearDTOInversion() { DTOServicioAhorroInversion dtoServicio = new DTOServicioAhorroInversion(); dtoServicio.Moneda = nombreMoneda; dtoServicio.TipoServicio = claseServicio; dtoServicio.PlazoDias = plazoDias; dtoServicio.MontoInversion = montoInversion; return(dtoServicio); }
public static double validarMinimos(double monto, string claseServicio, DTOServicioAhorroInversion dtoInversion) { double minimo = monto; FactoryConcretoServicio factory = new FactoryConcretoServicio(); ServicioAhorroInversion clase = factory.crearServicioAhorroInversion(dtoInversion); if (0 > monto.CompareTo(clase.obtenerSaldoMinimo())) { return(minimo = clase.obtenerSaldoMinimo()); } else { return(0); } }
public void escribirMovimiento(DTOServicioAhorroInversion dtoInversion) { if (existeArchivo()) { string delimiter = ","; string[][] output = new string[][] { new string[] { dtoInversion.Cliente.Nombre + " " + dtoInversion.Cliente.PrimerApellido + " " + dtoInversion.Cliente.SegundoApellido, dtoInversion.MontoInversion.ToString(), dtoInversion.PlazoDias.ToString(), dtoInversion.TipoServicio, dtoInversion.Moneda } }; StringBuilder sb = new StringBuilder(); sb.AppendLine(string.Join(delimiter, output[0])); using (StreamWriter outputFile = new StreamWriter(LectorData.obtenerRutaCarpeta() + nombreArchivo, true)) { outputFile.WriteLine(sb.ToString().Remove(sb.Length - 2)); } } else { crearArchivo(); escribirMovimiento(dtoInversion); } }
public void escribirMovimiento(DTOServicioAhorroInversion dtoInversion) { if (existeArchivo()) { string filepath = LectorData.obtenerRutaCarpeta() + nombreArchivo; XmlDocument documento = new XmlDocument(); documento.Load(filepath); XElement xml = XElement.Load(filepath); xml.Add(new XElement("Movimiento", new XAttribute("Cliente", dtoInversion.Cliente.Nombre + " " + dtoInversion.Cliente.PrimerApellido + " " + dtoInversion.Cliente.SegundoApellido), new XElement("TipoServicio", dtoInversion.TipoServicio), new XElement("Inversion", dtoInversion.MontoInversion.ToString()), new XElement("PlazoDias", dtoInversion.PlazoDias.ToString()), new XElement("Moneda", dtoInversion.Moneda))); xml.Save(filepath); } else { crearArchivo(); escribirMovimiento(dtoInversion); } }
public void realizarInversion(DTOServicioAhorroInversion dtoServicio, DTOCliente dtoCliente) { ServicioAhorroInversion servicio = this.crearServicioAhorroInversion(dtoServicio); Cliente cliente = this.crearCliente(dtoCliente); dtoServicio.Cliente = this.crearCliente(dtoCliente); servicio.calcularRendimiento(); servicio.calcularSaldoFinal(); try { CertificadoInversion temp = (CertificadoInversion)servicio; dtoServicio.ImpuestoRenta = temp.calcularImpuestoRenta(); } catch { } dtoServicio.InteresGanado = servicio.InteresGanado; dtoServicio.Interes = servicio.Interes; dtoServicio.SaldoFinal = servicio.SaldoFinal; dtoServicio.Cliente = cliente; realizarRegistroBitacora(dtoServicio); cliente.agregarServicioInversion(servicio); }
public CertificadoInversion(DTOServicioAhorroInversion dtoInversion) : base(dtoInversion) { base.id = "Cer#" + cantidadInstancias; cantidadInstancias++; }
public InversionVistaPactada(DTOServicioAhorroInversion dtoInversion) : base(dtoInversion) { base.id = "DpVis#" + cantidadInstancias; cantidadInstancias++; }
public CuentaCorriente(DTOServicioAhorroInversion dtoInversion) : base(dtoInversion) { base.id = "CntCo#" + cantidadInstancias; cantidadInstancias++; }
public ServicioAhorroInversion crearServicioAhorroInversion(DTOServicioAhorroInversion dtoServicio) { return(factoryServicio.crearServicioAhorroInversion(dtoServicio)); }
public abstract ServicioAhorroInversion crearServicioAhorroInversion(DTOServicioAhorroInversion dtoServicio);