Ejemplo n.º 1
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());
     }
 }
Ejemplo n.º 2
0
             $unCommander = new Commander();
             $unCommander->setUnArticle($unArticle);
             $unCommander->setQte($unArticle->getQte());
             $unCommander->setUneCommande($uneCommande);
             $lesCommander->ajouter($unCommander);
         }
         $uneCommande->setLesArticles($lesCommander);
         if ($_SESSION['Panier']->getPointsUtilise() > 0) {
             $uneCommande->setPointsUtilise($_SESSION['Panier']->getPointsUtilise());
         }
         MCommande::ajouterCommande($uneCommande);
         foreach ($uneCommande->getLesArticles()->getCollection() as $unCommander) {
             MCommander::ajouterArticleCommande($unCommander);
             MArticle::updateQteStock($unCommander->getUnArticle(), $unCommander->getQte());
         }
         MUtilisateur::setPoints($_SESSION['Utilisateur'], $_SESSION['Utilisateur']->getPoints() + Build::newPoints($_SESSION['Panier']->getPrixTotal(), Build::TYPE_COMMANDE));
         unset($_SESSION['Panier']);
         header('Location:?page=monCompte&action=voirCommandes');
     } catch (\InvalidArgumentException $e) {
         Connexion::setFlashMessage($e->getMessage());
         header('Location:?page=monPanier');
     } catch (\UnexpectedValueException $e) {
         Connexion::setFlashMessage($e->getMessage());
         header('Location:?page=monPanier&action=validerPanier');
     }
     break;
 case 'ajouterArticle':
     try {
         if ($_POST['qte'] <= 0) {
             throw new InvalidArgumentException('Veuillez sélectionner une quantité');
         }