Example #1
0
    public static function getLesCommentaires($num)
    {
        $LesCommentaires = new Collection();
        try {
            $conn = Main::BDDConnexionPDO();
            $reqPrepare = $conn->prepare('SELECT * FROM Commentaire
				LEFT JOIN Utilisateur ON Utilisateur.NumUser = Commentaire.NoUser
				INNER JOIN Livre ON Livre.NumLivre = Commentaire.NoLivre
				INNER JOIN Genre ON Livre.NoGenre = Genre.NumGenre
				INNER JOIN Auteur ON Livre.NumAuteur = Auteur.NumAuteur
				INNER JOIN Edition ON Livre.NoEdition = Edition.NumEdition
				WHERE NumLivre = ?
				ORDER BY DateCom DESC');
            $reqPrepare->execute(array($num));
            $reqPrepare = $reqPrepare->fetchAll();
            foreach ($reqPrepare as $UnCommentaire) {
                $unGenre = new Genre($UnCommentaire['NumGenre'], $UnCommentaire['NomGenre']);
                $uneEdition = new Edition($UnCommentaire['NumEdition'], $UnCommentaire['NomEdition']);
                $unAuteur = new Auteur($UnCommentaire['NumAuteur'], ['NomAuteur']);
                $unUser = new Utilisateur($UnCommentaire['NumUser'], $UnCommentaire['Nom'], $UnCommentaire['Prenom'], $UnCommentaire['Password'], $UnCommentaire['AdresseMail'], $UnCommentaire['Adresse'], $UnCommentaire['CodePostal'], $UnCommentaire['Ville']);
                $unLivre = new Livre($unGenre, $UnCommentaire['NumLivre'], $UnCommentaire['CodeISBN'], $UnCommentaire['Nom'], $unAuteur, $UnCommentaire['QuantiteStock'], $UnCommentaire['DateSortie'], $UnCommentaire['Tarif'], $UnCommentaire['Resume'], $UnCommentaire['Langue'], $UnCommentaire['Couverture'], $uneEdition);
                $unCommentaire = new Commentaire($UnCommentaire['DateCom'], $unUser, $unLivre, $UnCommentaire['Com']);
                $LesCommentaires->ajouter($unCommentaire);
            }
            $conn = null;
            return $LesCommentaires;
        } catch (\Exception $e) {
        }
    }
Example #2
0
 /**
  * @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());
     }
 }
Example #3
0
 public static function getLesGenres()
 {
     $LesGenres = new Collection();
     try {
         $conn = Main::BDDConnexionPDO();
         $req = $conn->query("SELECT * FROM Genre");
         $req = $req->fetchAll();
         foreach ($req as $Genre) {
             $unGenre = new Genre($Genre['NumGenre'], $Genre['NomGenre']);
             $LesGenres->ajouter($unGenre);
         }
     } catch (\Exception $e) {
         Main::setFlashMessage($e->getMessage(), 'error');
     }
     return $LesGenres;
 }
Example #4
0
 public static function getLesEditions()
 {
     $LesEdition = new Collection();
     try {
         $conn = Main::BDDConnexionPDO();
         $req = $conn->query("SELECT * FROM Edition");
         $req = $req->fetchAll();
         foreach ($req as $Edition) {
             $unEdition = new Edition($Edition['NumEdition'], $Edition['NomEdition']);
             $LesEdition->ajouter($unEdition);
         }
     } catch (\Exception $e) {
         Main::setFlashMessage($e->getMessage(), 'error');
     }
     return $LesEdition;
 }
Example #5
0
 public static function getLesAuteurs()
 {
     $LesAuteurs = new Collection();
     try {
         $conn = Main::BDDConnexionPDO();
         $req = $conn->query("SELECT * FROM Auteur  ORDER BY NomAuteur");
         $req = $req->fetchAll();
         foreach ($req as $Auteur) {
             $unAuteur = new Auteur($Auteur['NumAuteur'], $Auteur['NomAuteur']);
             $LesAuteurs->ajouter($unAuteur);
         }
     } catch (\Exception $e) {
         Main::setFlashMessage($e->getMessage(), 'error');
     }
     return $LesAuteurs;
 }
Example #6
0
 /**
  * @param Commande $commande
  * @return Collection
  */
 public static function getLivresbyCommande(Commande $commande)
 {
     $LesLivres = new Collection();
     try {
         $conn = Main::BDDConnexionPDO();
         $req = $conn->prepare("SELECT * FROM Quantite\n\t\t\t  INNER JOIN Commande ON Quantite.NoCommande = Commande.NumCommande\n\t\t\t  WHERE NoCommande = ?");
         $req->execute(array($commande->getNumCommande()));
         $req = $req->fetchAll();
         foreach ($req as $unLivre) {
             $livre = MLivre::getUnLivre($unLivre['NoLivres']);
             $commande = MPanier::getUneCommande($unLivre['NoCommande']);
             $quantite = new Quantite($livre, $commande, $unLivre['Quantite']);
             $LesLivres->ajouter($quantite);
         }
         return $LesLivres;
     } catch (\Exception $e) {
         Main::setFlashMessage($e->getMessage(), 'error');
     }
 }
Example #7
0
 public static function getLivreRand()
 {
     $LesLivres = new Collection();
     try {
         $conn = Main::BDDConnexionPDO();
         $req = $conn->query("SELECT *\n\t\t\t  FROM Livre\n\t\t\t  INNER JOIN Genre ON Livre.NoGenre = Genre.NumGenre\n\t\t\t  INNER JOIN Auteur ON Livre.NumAuteur = Auteur.NumAuteur\n\t\t\t  INNER JOIN Edition ON Livre.NoEdition = Edition.NumEdition\n\t\t\t  ORDER BY Rand() DESC LIMIT 0,4");
         $req = $req->fetchAll();
         foreach ($req as $unLivre) {
             $genre = new Genre($unLivre['NoGenre'], $unLivre['NomGenre']);
             $auteur = new Auteur($unLivre['NumAuteur'], $unLivre['NomAuteur']);
             $edition = new Edition($unLivre['NoEdition'], $unLivre['NomEdition']);
             $livre = new Livre($genre, $unLivre['NumLivre'], $unLivre['CodeISBN'], $unLivre['Nom'], $auteur, $unLivre['QuantiteStock'], $unLivre['DateSortie'], $unLivre['Tarif'], $unLivre['Resume'], $unLivre['Langue'], $unLivre['Couverture'], $edition);
             $LesLivres->ajouter($livre);
         }
     } catch (\Exception $e) {
         Main::setFlashMessage($e->getMessage(), 'error');
     }
     return $LesLivres;
 }