/// <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(); } }
/// <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"); }
/// <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); } }
/// <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; }
/// <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(); }
/// <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); }
/// <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); }
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); }
public void TransferirDolaresAPesos(Banca pBanca) { iFachadaImp.TransferirDolaresAPesos(pBanca); }
public void GuardarCambios(Banca pBanca) { iFachadaImp.GuardarCambios(pBanca, iContenedor); }
public void MenuSeleccionCuenta(Banca pBanca) { iFachadaImp.MenuSeleccionCuenta(pBanca); }