package dao;
import java.sql.CallableStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import business.PariHistorique;
public class DaoPariHistorique {
/* ------------------------------------------------ REQUETES PRECOMPILEES */
private static CallableStatement statementGetPariHistorique = null;
private static CallableStatement statementGetParisHistorique = null;
/* --------------------------------------------------------- CONSTRUCTEUR */
static {
try {
statementGetPariHistorique = DbConnection.getInstance().prepareCall("{call getPariHistorique(?)}");
statementGetParisHistorique = DbConnection.getInstance().prepareCall("{call getParisHistorique(?)}");
}
catch(SQLException e) {
e.printStackTrace();
}
}
/* -------------------------------------------------------------- METHODE */
public static PariHistorique getPariHistorique(int id_pariHistorique) {
PariHistorique pariHistorique = null;
try {
ResultSet rs = null;
synchronized(statementGetPariHistorique) {
statementGetPariHistorique.setInt(1, id_pariHistorique);
rs = statementGetPariHistorique.executeQuery();
}
if(rs != null && rs.last()) {
if(rs.getRow() == 1) {
pariHistorique = new PariHistorique(
rs.getInt("id_pariHistorique"),
rs.getInt("fk_id_utilisateur"),
rs.getString("nomTrain"),
rs.getString("nomGarePassage"),
rs.getString("nomGareDestination"),
rs.getTimestamp("heurePassageTrain"),
rs.getInt("mise"),
rs.getInt("retard"),
rs.getTimestamp("heurePari"),
rs.getInt("gain"));
}
else {
System.err.println("DaoPariHistorique.getPariHistorique(" + id_pariHistorique + ") : plusieurs résultats.");
}
}
else {
System.err.println("DaoPariHistorique.getPariHistorique(" + id_pariHistorique + ") : aucun résultat.");
}
}
catch(SQLException e) {
e.printStackTrace();
return null;
}
return pariHistorique;
}
public static List<PariHistorique> getParisHistorique(int id_utilisateur) {
List<PariHistorique> parisHistorique = null;
try {
ResultSet rs = null;
synchronized (statementGetParisHistorique) {
statementGetParisHistorique.setInt(1, id_utilisateur);
rs = statementGetParisHistorique.executeQuery();
}
if(rs != null) {
parisHistorique = new ArrayList<PariHistorique>();
while(rs.next()) {
parisHistorique.add(new PariHistorique(
rs.getInt("id_pariHistorique"),
rs.getInt("fk_id_utilisateur"),
rs.getString("nomTrain"),
rs.getString("nomGarePassage"),
rs.getString("nomGareDestination"),
rs.getTimestamp("heurePassageTrain"),
rs.getInt("mise"),
rs.getInt("retard"),
rs.getTimestamp("heurePari"),
rs.getInt("gain")));
}
}
}
catch(SQLException e) {
e.printStackTrace();
return null;
}
return parisHistorique;
}
}