Exemple #1
0
         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');
 } catch (\InvalidArgumentException $e) {