/** * Récupère la réservation en cours du client * * @param Utilisateur $unClient * * @return Reservation * * @throws CollectionException * @throws ErrorSQLException */ public static function getReservationClient(Utilisateur $unClient) { $uneReservation = new Reservation(); try { $conn = MConnexion::getBdd(); $reqPrepare = $conn->prepare('SELECT reservation.numVol, reservation.numRes, dateRes, nbPers, montant, dateEcheance FROM reservation LEFT JOIN echeance ON reservation.numRes = echeance.numRes INNER JOIN vol ON reservation.numVol = vol.numVol WHERE NumClt = ? AND curdate() < vol.dateVol'); $reqPrepare->execute([$unClient->getId()]); $fetch = $reqPrepare->fetch(); $unVol = MVol::getUnVol($fetch['numVol']); $uneReservation->setId($fetch['numRes'])->setUnVol($unVol)->setUnClient($unClient)->setDateRes($fetch['dateRes'])->setNbPers($fetch['nbPers'])->setValid(true); $lesEcheances = MEcheance::getEcheances($uneReservation); $uneReservation->setLesEcheance($lesEcheances); $conn = null; } catch (PDOException $e) { echo $e->getMessage(); throw new ErrorSQLException('Impossible de récupérer la réservation de ' . $unClient->getMail() . ' Détails : ' . $e->getMessage()); } return $uneReservation; }