コード例 #1
0
        /// <summary>
        /// Crea un objeto de tipo Banca, comprobando que el titular no posea ya una cuenta y que
        /// los datos ingresados sean correctos
        /// </summary>
        public void CrearCuenta()
        {
            Console.Clear();
            Console.Write("Nombre del titular (Nombre y Apellido): " + '\n');
            String titular = Console.ReadLine();

            Console.Write("Numero de documento: " + '\n');
            String numero = Console.ReadLine();

            Console.WriteLine("");
            Banca banca = new Banca(numero, titular);

            if (iContenedor.Obtener(numero) == null && !(titular.Equals("")))
            {
                if ((Convert.ToInt32(numero) >= 1000000) && (Convert.ToInt32(numero) <= 100000000))
                {
                    iContenedor.Agregar(banca);
                    Console.WriteLine("La cuenta fue creada con exito");
                    Console.ReadKey();
                }
                else
                {
                    Console.WriteLine("Datos incorrectos. Intentelo nuevamente");
                    Console.ReadKey();
                }
            }
            else
            {
                Console.WriteLine("La cuenta ya existe o falta ingresar un nombre. Intentelo nuevamente");
                Console.ReadKey();
            }
        }
コード例 #2
0
 /// <summary>
 /// Imprime el menu para seleccionar el tipo de cuenta
 /// </summary>
 /// <param name="pBanca">Banca que contiene las cuentas</param>
 public void MenuSeleccionCuenta(Banca pBanca)
 {
     Console.Clear();
     Console.WriteLine("Bienvenido " + pBanca.Titular + '\n' + '\n');
     Console.WriteLine("Seleccione la cuenta a operar" + '\n' + '\n');
     Console.WriteLine("1.Cuenta en pesos argentinos");
     Console.WriteLine("2.Cuenta en dolares estadounidenses" + '\n' + '\n');
     Console.WriteLine("0.Salir");
 }
コード例 #3
0
        /// <summary>
        /// Busca una banca del repositorio
        /// </summary>
        /// <returns>Devuelve un objeto Banca si existe en el repositorio, sino devuelve null</returns>
        public Banca BuscarBanca()
        {
            Console.Clear();
            Console.Write("Ingrese la clave de su cuenta: ");
            String numero = Console.ReadLine();
            Banca  banca  = iContenedor.Obtener(numero);

            if (banca != null)
            {
                return(banca);
            }
            else
            {
                Console.WriteLine("");
                Console.WriteLine("La clave ingresada no pertenece a un cliente existente");
                Console.ReadKey();
                return(banca);
            }
        }
コード例 #4
0
 /// <summary>
 /// Agrega un objeto Banca al array del repositorio. Si ya existia el titular de la Banca,
 /// se sobreescribiran los datos.
 /// </summary>
 /// <param name="pBanca"></param>
 public void Agregar(Banca pBanca)
 {
     Banca[] bancasModificadas = iBancas;
     for (int i = 0; i <= iBancas.Length; i++)
     {
         if (i < iBancas.Length && pBanca.Numero == iBancas[i].Numero)
         {
             bancasModificadas[i] = pBanca;
             break;
         }
         if (i == iBancas.Length)
         {
             bancasModificadas = new Banca[i + 1];
             iBancas.CopyTo(bancasModificadas, 0);
             bancasModificadas[i] = pBanca;
         }
     }
     iBancas = bancasModificadas;
 }
コード例 #5
0
        /// <summary>
        /// Debita saldo de la cuenta en dolares y acredita su equivalente a la cuenta en pesos
        /// </summary>
        /// <param name="pBanca"></param>
        public void TransferirDolaresAPesos(Banca pBanca)
        {
            Console.WriteLine("Transferencia dolar a peso");
            Console.WriteLine("Saldo en pesos: " + pBanca.CuentaEnPesos.Saldo + " " + RepositorioBanca.Monedas[0].Simbolo);
            Console.WriteLine("Saldo en dolares: " + pBanca.CuentaEnDolares.Saldo + " " + RepositorioBanca.Monedas[1].Simbolo + '\n');
            Console.Write("Ingrese el monto a transferir: ");
            double monto = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine("");
            if (pBanca.CuentaEnDolares.DebitarSaldo(monto) == true)
            {
                double cambio = monto * dolarAPesos;
                pBanca.CuentaEnPesos.AcreditarSaldo(cambio);
                Console.WriteLine('\n' + "La transferencia se ha realizado con exito");
            }
            else
            {
                Console.WriteLine('n' + "El monto disponible no es suficiente");
            }
            Console.ReadKey();
        }
コード例 #6
0
 /// <summary>
 /// Guarda los cambios realizados en una Banca en el repositorio
 /// </summary>
 /// <param name="pBanca">Banca modificada</param>
 public void GuardarCambios(Banca pBanca)
 {
     iContenedor.Agregar(pBanca);
 }
コード例 #7
0
 /// <summary>
 /// Guarda los cambios realizados en una Banca en el repositorio
 /// </summary>
 /// <param name="pBanca">Banca modificada</param>
 /// <param name="pContenedor">Repositorio que contenia la Banca modificada</param>
 public void GuardarCambios(Banca pBanca, RepositorioBanca pContenedor)
 {
     pContenedor.Agregar(pBanca);
 }
コード例 #8
0
        static void Main(string[] args)
        {
            RepositorioBanca repo    = new RepositorioBanca();
            IFachada         fachada = new FachadaImp(repo);
            int opcion;
            int opcion2;
            int opcion3;

            do
            {
                fachada.MostrarPantallaPrincipal();
                opcion = fachada.PedirOpcion();
                switch (opcion)
                {
                case 1:
                    Banca banca = fachada.BuscarBanca();
                    if (banca != null)
                    {
                        do
                        {
                            fachada.MenuSeleccionCuenta(banca);
                            opcion2 = fachada.PedirOpcion();
                            switch (opcion2)
                            {
                            case 1:
                                Console.Clear();
                                fachada.MenuOperacionesPesoArgentino();
                                opcion3 = fachada.PedirOpcion();
                                switch (opcion3)
                                {
                                case 1:
                                    Console.Clear();
                                    fachada.MostrarSaldoPesos(banca.CuentaEnPesos);
                                    fachada.AcreditarSaldo(banca.CuentaEnPesos);
                                    break;

                                case 2:
                                    Console.Clear();
                                    fachada.MostrarSaldoPesos(banca.CuentaEnPesos);
                                    fachada.DebitarSaldo(banca.CuentaEnPesos);
                                    break;

                                case 3:
                                    Console.Clear();
                                    fachada.TransferirPesosADolares(banca);
                                    break;

                                case 4:
                                    Console.Clear();
                                    fachada.MostrarSaldoPesos(banca.CuentaEnPesos);
                                    Console.ReadKey();
                                    break;

                                default:
                                    break;
                                }
                                break;

                            case 2:
                                Console.Clear();
                                fachada.MenuOperacionesDolarEstadounidense();
                                opcion3 = fachada.PedirOpcion();
                                switch (opcion3)
                                {
                                case 1:
                                    Console.Clear();
                                    fachada.MostrarSaldoDolares(banca.CuentaEnDolares);
                                    fachada.AcreditarSaldo(banca.CuentaEnDolares);
                                    break;

                                case 2:
                                    Console.Clear();
                                    fachada.MostrarSaldoDolares(banca.CuentaEnDolares);
                                    fachada.DebitarSaldo(banca.CuentaEnDolares);
                                    break;

                                case 3:
                                    Console.Clear();
                                    fachada.TransferirDolaresAPesos(banca);
                                    break;

                                case 4:
                                    Console.Clear();
                                    fachada.MostrarSaldoDolares(banca.CuentaEnDolares);
                                    Console.ReadKey();
                                    break;

                                default:
                                    break;
                                }
                                break;

                            default:
                                break;
                            }
                        } while (opcion2 != 0);
                        fachada.GuardarCambios(banca);
                    }
                    break;

                case 2:
                    fachada.CrearCuenta();
                    break;

                default:
                    break;
                }
            } while (opcion != 0);
        }
コード例 #9
0
 public void TransferirDolaresAPesos(Banca pBanca)
 {
     iFachadaImp.TransferirDolaresAPesos(pBanca);
 }
コード例 #10
0
 public void GuardarCambios(Banca pBanca)
 {
     iFachadaImp.GuardarCambios(pBanca, iContenedor);
 }
コード例 #11
0
 public void MenuSeleccionCuenta(Banca pBanca)
 {
     iFachadaImp.MenuSeleccionCuenta(pBanca);
 }