Esempio n. 1
0
 /**
  * Permet de récupérer les échéance de la Reservation passée en paramètre
  *
  * @param Reservation $reservation
  *
  * @return Collection
  *
  * @throws ErrorSQLException
  * @throws CollectionException
  */
 public static function getEcheances(Reservation $reservation)
 {
     $lesEcheance = new Collection();
     try {
         $conn = MConnexion::getBdd();
         $req = $conn->prepare('SELECT * FROM echeance WHERE numRes = ?');
         $req->execute([$reservation->getId()]);
         $fetchAll = $req->fetchAll();
         foreach ($fetchAll as $fetch) {
             $echeance = new Echeance($reservation, $fetch['montant'], new \DateTime($fetch['dateEcheance']));
             $echeance->setId($fetch['id']);
             $lesEcheance->ajouter($echeance);
         }
     } catch (\PDOException $e) {
         throw new ErrorSQLException($e->getMessage());
     }
     return $lesEcheance;
 }
Esempio n. 2
0
 /**
  * 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;
 }