Example #1
0
 /**
  * Ajoute un article au panier ou augmente de 1 sa quantité s'il est déjà dans le panier
  *
  * @param Article $unProduit
  * @param int     $qte
  *
  * @throws InvalidArgumentException
  */
 public function ajouterUnProduit(Article $unProduit, $qte)
 {
     if ($this->collProduit->cleExiste($unProduit->getNumArt())) {
         $produitPanier = $this->collProduit->getElement($unProduit->getNumArt());
         if ($unProduit->getQte() + $produitPanier->getQte() > $unProduit->getQteStock()) {
             throw new InvalidArgumentException('Quantité en stock insuffisante');
         }
         $this->augmenterQuantiteProduit($unProduit->getNumArt(), $qte);
     } else {
         $this->collProduit->ajouter($unProduit, $unProduit->getNumArt());
     }
 }