import javabook.*;
public class CuentaBancariaBDMain {
  public static void main(String [] args) {
    CuentaBancariaBaseDatos bd=
      new CuentaBancariaBaseDatos();
    bd.init();
    MainWindow main = new MainWindow();
    main.show();
    boolean salir = false;
    String [] etiqueta= {"Opcion"};
    MultiInputBox in = 
        new MultiInputBox(main,etiqueta);
    OutputBox out = new OutputBox(main); 
    etiqueta[0] = "Nombre";
    MultiInputBox inBusca = new MultiInputBox(main,etiqueta);
    String []  eInsertar = {"Nombre","Saldo Inicial"};
    MultiInputBox inInserta = new MultiInputBox(main,eInsertar);
    String []  eBorrar = {"Nombre"};
    MultiInputBox inBorrar = new MultiInputBox(main,eBorrar);
    OutputBox outBusqueda = new OutputBox(main);

    out.printLine("1. Buscar"); 
    out.printLine("2. Insertar");
    out.printLine("3. Borrar");
    out.printLine("4. Salir");
    out.show();
    while ( !salir) {
       out.show();
       String [] opcion=in.getInputs();
       out.hide();
       if (opcion[0].equals("4")) {
         salir = true;
       } else if (opcion[0].equals("1")) {
         
          
          String [] nombre = inBusca.getInputs();
          CuentaBancaria cta =bd.buscar(nombre[0]);
          if (cta != null) {
             
             outBusqueda.show();
             outBusqueda.printLine("Nombre "+ cta.getNombre());
             outBusqueda.printLine("Saldo "+ cta.getSaldo());
             
          } else {
             MessageBox aviso = new MessageBox(main);
             aviso.show("No existe la persona "+ nombre[0]);
          }
       } else if (opcion[0].equals("2") ) {
         try {
           String [] sDatos= inInserta.getInputs();             
           bd.insertar(sDatos[0]);
         } catch (Exception ex) {
             MessageBox msgErr = new MessageBox(main);
             if (ex.getMessage().
                 equals("insertar:Espacio excedido")) {
                 msgErr.show("No hay espacio para otra cuenta");
             } else {
                 msgErr.show("Error desconocido al insertar");
             }//if
         }//try
       } else if (opcion[0].equals("3")) {
         String [] sDatos = inBorrar.getInputs();
         try {
          bd.borrar(sDatos[0]);
         } catch (Exception ex) {
             MessageBox msgErr = new MessageBox(main);
             if (ex.getMessage().
                 equals("borrar:Elemento no encontrado")) {
                 msgErr.show("No se encontro usuario");
             } else {
                 msgErr.show("Error desconocido al insertar");
             }//if
         }
       }//if
       MessageBox msg = new MessageBox(main);
       msg.show("Presionar aqui para continuar");
       outBusqueda.hide();
       bd.print();
       
    }//while
    System.exit(0);
  }//main
}






