Ejemplo n.º 1
0
 /**
  * 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;
 }
Ejemplo n.º 2
0
         $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 {