/** * Récupère les commandes dont l'utilisateur est passé en paramètre. * * @param Utilisateur $unClient * @param bool $index * * @return Collection $lesCommandes * * @throws CollectionException * @throws ErrorSQLException */ public static function getCommandes(Utilisateur $unClient, $index = false) { $lesCommandes = new Collection(); try { $conn = MConnexion::getBdd(); $req = !$index ? $conn->prepare('SELECT * FROM commande WHERE numClt = ? ORDER BY date DESC') : $conn->prepare('SELECT * FROM commande WHERE numClt = ? ORDER BY date DESC LIMIT 2'); $req->execute(array($unClient->getId())); $req = $req->fetchAll(); foreach ($req as $tabs) { $uneCommande = new Commande($tabs['numCde'], $unClient, $tabs['date'], $tabs['pointsUtilise']); $uneCommande->setLesArticles(MCommander::getUneCommande($uneCommande)); $lesCommandes->ajouter($uneCommande); } } catch (PDOException $e) { throw new ErrorSQLException($e->getMessage()); } return $lesCommandes; }
$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) { 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 {