/** * @param Livre $unProduit * @param int $qte * * @throws InvalidArgumentException */ public function ajouterUnProduit(Livre $unProduit, $qte) { if ($this->collProduit->cleExiste($unProduit->getNumLivre())) { $produitPanier = $this->collProduit->getElement($unProduit->getNumLivre()); if ($unProduit->getQte() + $produitPanier->getQte() > $unProduit->getQuantiteStock()) { throw new InvalidArgumentException('Quantité en stock insuffisante'); } $this->augmenterQuantiteProduit($unProduit->getNumLivre(), $qte); } else { $this->collProduit->ajouter($unProduit, $unProduit->getNumLivre()); } }