Buongiorno ragazzi sto cercando di realizzare una WebApplication in Java (jsp,javascript) in cui permetto la prenotazione di alcune camere di un hotel.
Premetto che sono ancora all'inizio con la programmazione in questo linguaggio.
In sostanza, dopo aver effettuato il login/registrazione/logout devo creare un modo che mi permetta di prenotare le camere dell'hotel.
Quindi pensavo di realizzare un form del tipo:
Email
Tipo Stanza
Data Arrivo
Data di Partenza
Ora il primo problema risulta nel controllare che per un determinato tipo di stanza, in quel periodo ( data di arrivo- data di partenza ) non avvengano altre prenotazioni.
String idPrenotazione = request.getParameter("idPrenotazione");
String emailUtente = request.getParameter("emailUtente");
String nomestanza = request.getParameter("nomestanza");
String dataInizioPrenotazione = request.getParameter("dataInizioPrenotazione");
String dataFinePrenotazione = request.getParameter("datafinePrenotazione");
try {
String check = (("SELECT res1.nomestanza, res1.dataInizioPrenotazione, res1.dataFinePrenotazione\n" +
"FROM prenotazione res1, prenotazione res2\n" +
"WHERE ( res1.nomestanza = res2.nomestanza ) \n" +
"AND (res1.dataInizioPrenotazione <= res2.dataFinePrenotazione)\n" +
"AND (res2.dataInizioPrenotazione <= res1.dataFinePrenotazione)"));
} catch(Exception e) {
}
Ho provato scrivendo questo, ma già sorge il primo dubbio come faccio a controllare il risultato della "check" ? Perchè mettiamo caso che il controllo effettuato sia positivo ( quindi la camera è libera in quel periodo ) allora posso procedere all'inserimento della prenotazione e a settare la disponibilità della stanza ad 1 ( e quindi impostare che la stanza è occupata ).
Vi lascio pure lo schema del DB:
'room`
`idRoom` varchar(45) NOT NULL,
`nomestanza` varchar(45) NOT NULL,
`capienza` int(11) NOT NULL,
`disponibile` int(11) DEFAULT NULL,
prenotazione [/u ]
`idPrenotazione` int(11) NOT NULL,
`emailUtente` varchar(45) NOT NULL,
`idRoom` int(11) NOT NULL,
`dataPrenotazione` varchar(45) NOT NULL,
`esitoPrenotazione` int(11) NOT NULL,
`dataInizioPrenotazione` varchar(45) NOT NULL,
`dataFinePrenotazione` varchar(45) NOT NULL,
`costo` double NOT NULL,
`saldo` int(11) NOT NULL,
`nomestanza` varchar(45) DEFAULT NULL
Grazie a tutti per l'aiuto