/** * * @author Johannes Rothkegel, Juan Pablo Rothkegel Ide, Raul Cortes * * La clase Piezas es la que se encarga de hacer la relacion entre una habitación y * la base de datos. Ya que implementa la interfaz DataBase. Es la tabla que muestra * todas las habitaciones que un hotel posee. */ import java.util.*; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class Piezas implements DataBase{ private ArrayList piezas; public Piezas(){ piezas = new ArrayList(); this.refreshDataBase(); } public void addPieza(Pieza p){ piezas.add(p); //Esto añade un objeto pieza, al arreglo de piezas. } /** * La función showPiezas, muestra la tabla de las piezas que existen en el hotel. */ public void showPiezas(){ System.out.println("N_Piso"+"\t"+"N_Pieza"+"\t"+"Tamanno"+"\t"+"Estado"+"\t"+"Tipo"); System.out.println("-----------------------------------------"); for(Pieza p: piezas){ String st; st = p.piso +"\t\t\t"+ p.numero_pieza +"\t\t\t"+ p.getTamanno()+"\t\t"+ p.estado+"\t\t"+ p.tipo; System.out.println(st); } System.out.println(); } public Pieza getPieza(int id){ for(Pieza p: piezas){ if(p.getId()==id){ return p; } } return null; } /** * updatePieza actualiza el estado de la pieza, esto quiere decir, si se ocupa una habitación * esta pasa a estar ocupada y deja de estar disponible. */ public void updatePieza(int id,Pieza p){ for(int i=0;i getPiezaReservada(int floor){ ArrayList pi = new ArrayList(); for(Pieza p: piezas){ if(p.piso==floor){ pi.add(p); } } return pi; } public int getCantPiezas(){ int i = 0; int piso_ant = 0; for(Pieza p: piezas){ if(p.piso > piso_ant){ piso_ant = p.piso; i++; } } return i; } public int getSize(){ return piezas.size(); } //---------------------------------------Data Base methods-------------------------------------- public void writeDataBase(){ int i=0; try { FileWriter writer = new FileWriter("Pieza.txt"); for(Pieza p: piezas){ if(i!=0) writer.write("\r\n" ); writer.write(p.getId()+"\t"+p.piso +"\t"+ p.numero_pieza +"\t"+ p.estado+"\t"+ p.getTamanno()+"\t"+ p.tipo +"\t"+p.ubicacion); i++; } writer.close(); } catch (IOException e) { e.printStackTrace(); } } public void deleteFromDataBase(String idx){ int id = Integer.parseInt(idx); for(int i=0;i per = new ArrayList(); for(Pieza p: piezas){ per.add(p); } piezas.clear(); try{ in = new Scanner(file); while(in.hasNextLine()){ int id,p,n,t; String e,ti,u; if(in.hasNextInt()) id = in.nextInt(); else break; if(in.hasNextInt()) p = in.nextInt(); else break; if(in.hasNextInt()) n = in.nextInt(); else break; if(in.hasNext()) e = in.next(); else break; if(in.hasNextInt()) t = in.nextInt(); else break; if(in.hasNext()) ti = in.next(); else break; if(in.hasNext()) u = in.nextLine().trim(); else break; //if(id!=0) piezas.add(new Pieza(id,p,n,e,t,ti,u)); } } catch(FileNotFoundException exception){ System.out.println("The file " + file.getPath() + " was not found."); System.exit(-1); } if (in.hasNextLine()) // there was a break while reading the input file System.out.println("Input file format error in: "+in.nextLine()); for(Pieza p: per){ boolean isIn=false; for(Pieza pe: piezas){ if(pe.getId()==p.getId()){ isIn=true; } } if(isIn == false){ piezas.add(p); writeDataBase(); } } } }