pSelectPPO.setDate(1, today);
pSelectPPO.setDate(2, today);
rs = pSelectPPO.executeQuery();
}
// String idPieceTmp = "";
Piece p; // = new Piece(idPieceTmp);
while(rs.next()){
/*
* 1 IDPIECE = String
* 2 TITREPIECE = String
* 3 AUTEUR = String
* 4 TITRESAISON = String
* 5 TYPEPERIODE = String
* 6 DATEDEB = Date
* 7 DATEFIN = Date
*
* Ici il faut s'attendre a recevoir plusieurs fois
* un rs avec IDPIECE identique: plusieurs types de
* periodes de reservation!
*/
String id = rs.getString(1);
String titre = rs.getString(2);
String auteur = rs.getString(3);
String saison = rs.getString(4);
// if(!id.equals(idPieceTmp)){
p = new Piece(id, titre, auteur, saison);
// idPieceTmp = id;
// ajouter les representations pour cette piece:
// le faire seulement si on cree une nouvelle piece!
for(Iterator it = this.getSeancesPiece(id).iterator();
it.hasNext(); ){
p.addRepresentation((Representation)it.next());
}
//Ajout des tarifs
pSelectTarifsPiece.clearParameters();
pSelectTarifsPiece.setString(1, id);
ResultSet rsTarifs = pSelectTarifsPiece.executeQuery();
while(rsTarifs.next()){
p.addTarif(rsTarifs.getString(2), rsTarifs.getString(3), rsTarifs.getDouble(4));
}
// ajouter la piece dans la liste des pieces a retourner.
lesPieces.add(p);
// ajouter la piece dans le cache:
//this.cachePieces.put(id, p);
//TODO: si on utilise le cache!
// }
// recuperation du reste des informations du ResultSet
String type =rs.getString(5);
Date deb = rs.getDate(6);
Date fin = rs.getDate(7);
// ajout du type et des dates debut/fin de la periode periodes
p.setPeriodeEnCours(type);
p.setPeriodeDebut(deb);
p.setPeriodeFin(fin);
}
return lesPieces;
}