Exemple #1
0
 if (!array_key_exists('numCarte', $_POST)) {
     throw new \UnexpectedValueException('Les données saisies sont invalides. pas de post');
 }
 if (strlen($_POST['numCarte']) !== 16) {
     throw new \UnexpectedValueException('Les données saisies sont invalides. 16 numéros carte');
 }
 $datePost = new \DateTime($_POST['CBYear'] . '-' . $_POST['CBMonth'] . '-01');
 if (new \DateTime() > $datePost) {
     throw new \UnexpectedValueException('Votre carte a expirée.');
 }
 $uneCommande = new Commande(Connexion::getLastIdCommande(), $_SESSION['Utilisateur'], date('Y-m-d H:i:s'));
 $lesCommander = new Collection();
 foreach ($_SESSION['Panier']->getProduitsPanier() as $unArticle) {
     $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');