示例#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;
 }
示例#2
0
 /**
  * Permet d'annuler une réservation déjà validée (rembourse les points utilisés et gagnés)
  *
  * @param Reservation $uneReservation
  *
  * @throws ErrorSQLException
  */
 public static function annulerReservationValidee(Reservation $uneReservation)
 {
     $conn = MConnexion::getBdd();
     try {
         $conn->beginTransaction();
         $req = $conn->prepare('DELETE FROM echeance WHERE numRes = ?');
         $req->execute([$uneReservation->getId()]);
         $conn->commit();
         $conn->beginTransaction();
         $reqPrepare = $conn->prepare('DELETE FROM reservation WHERE numRes = ?');
         $reqPrepare->execute([$uneReservation->getId()]);
         $conn->commit();
         $points = MUtilisateur::getPoints($uneReservation->getUnClient()) - Build::newPoints($uneReservation->getPriceReservation()) + $uneReservation->getReduction();
         MUtilisateur::setPoints($uneReservation->getUnClient(), $points);
         $conn = null;
     } catch (PDOException $e) {
         $conn->rollBack();
         $uneReservation->setValid(false);
         throw new ErrorSQLException($e->getMessage());
     }
 }