Пример #1
0
 public void realizarRegistroBitacora(DTOServicioAhorroInversion dtoInversion)
 {
     foreach (IEscritor elemento in factoryIEscritor)
     {
         elemento.escribirMovimiento(dtoInversion);
     }
 }
Пример #2
0
        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<---");
        }
Пример #3
0
 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);
        }
Пример #5
0
        private DTOServicioAhorroInversion crearDTOInversion()
        {
            DTOServicioAhorroInversion dtoServicio = new DTOServicioAhorroInversion();

            dtoServicio.Moneda         = nombreMoneda;
            dtoServicio.TipoServicio   = claseServicio;
            dtoServicio.PlazoDias      = plazoDias;
            dtoServicio.MontoInversion = montoInversion;
            return(dtoServicio);
        }
Пример #6
0
        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);
            }
        }
Пример #7
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);
     }
 }
Пример #8
0
 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);
     }
 }
Пример #9
0
        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++;
 }
Пример #12
0
 public CuentaCorriente(DTOServicioAhorroInversion dtoInversion) : base(dtoInversion)
 {
     base.id = "CntCo#" + cantidadInstancias;
     cantidadInstancias++;
 }
Пример #13
0
 public ServicioAhorroInversion crearServicioAhorroInversion(DTOServicioAhorroInversion dtoServicio)
 {
     return(factoryServicio.crearServicioAhorroInversion(dtoServicio));
 }
Пример #14
0
 public abstract ServicioAhorroInversion crearServicioAhorroInversion(DTOServicioAhorroInversion dtoServicio);