/// <summary> /// Crea un objeto de tipo Banca, comprobando que el titular no posea ya una cuenta y que /// los datos ingresados sean correctos /// </summary> /// <param name="pContenedor"></param> public void CrearCuenta(RepositorioBanca pContenedor) { 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 (pContenedor.Obtener(numero) == null && !(titular.Equals(""))) { if ((Convert.ToInt32(numero) >= 1000000) && (Convert.ToInt32(numero) <= 100000000)) { pContenedor.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> /// Busca una banca del repositorio /// </summary> /// <param name="pContenedor">Repositorio que almacena las bancas</param> /// <returns>Devuelve un objeto Banca si existe en el repositorio, sino devuelve null</returns> public Banca BuscarBanca(RepositorioBanca pContenedor) { Console.Clear(); Console.Write("Ingrese la clave de su cuenta: "); String numero = Console.ReadLine(); Banca banca = pContenedor.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); } }
public FachadaImp(RepositorioBanca pContenedor) { this.iContenedor = pContenedor; }
/// <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); }