/**
  * Vérificatin de stock modif quantite
  *
  * @param (int) $id_velo
  * @param (int) $quantite
  * @return bool
  */
 public function verifQuantiteAvantMaj($id_velo = null, $quantite = null)
 {
     $assemblage = new modeleAssemblage();
     $newQuantite = !$quantite ? 1 : $quantite - $_SESSION['panier'][$id_velo]['quantite'];
     $piecesQuantite = [];
     $verifQuantite = [];
     foreach ($_SESSION['panier'] as $key => $value) {
         foreach ($_SESSION['panier'][$key]['pieces'] as $piecesKey => $piecesValue) {
             if (array_key_exists($piecesValue, $piecesQuantite)) {
                 $piecesQuantite[$piecesValue] += (int) $_SESSION['panier'][$key]['quantite'];
             } else {
                 $piecesQuantite[$piecesValue] = (int) $_SESSION['panier'][$key]['quantite'];
             }
             if ($key == $id_velo) {
                 $piecesQuantite[$piecesValue] += $newQuantite;
             }
         }
     }
     foreach ($piecesQuantite as $key => $value) {
         $verifQuantite[] = $assemblage->verifQuantiteMaj($key) < $value ? null : $key;
     }
     if (array_search(null, $verifQuantite) === false) {
         // Si un id_velo est présent alors MAJ session
         if ($id_velo) {
             $_SESSION['panier'][$id_velo]['quantite'] += $newQuantite;
             // Sinon MAJ BDD
         } else {
             $stock = new modeleStocks();
             foreach ($piecesQuantite as $key => $value) {
                 $stock->updateQuantitePiece(-$value, $key);
             }
         }
         return true;
     } else {
         return false;
     }
 }
 /**
  * Fonction controlant l'insertion d'une piece
  *
  * @param $dataGet, $donneesStocks (array)
  * @return $msg (array)
  */
 public function verifInsertPieces($dataGet, $select, $update = false)
 {
     $donneesStocks = new modeleStocks();
     $imgBDD = !empty($_FILES['img']['name']) ? $this->insertPhoto($dataGet['type_piece']) : null;
     extract($_POST);
     switch ($dataGet['type_piece']) {
         case 'cadre':
         case 'guidon':
             if (isset($_POST['matiere']) && array_key_exists($_POST['matiere'], $select['matiere']) != false && isset($_POST['sexe']) && array_key_exists($_POST['sexe'], $select['sexe']) != false && isset($_POST['id_taille']) && array_key_exists($_POST['id_taille'], $select['taille']) != false) {
                 if (!$update) {
                     $donneesStocks->insertPieces($type_piece, $type_velo, $titre, $poids, $prix, $quantite, $description, $imgBDD, $matiere, $sexe, $id_taille);
                 } else {
                     $donneesStocks->updatePieces($type_velo, $titre, $poids, $prix, $quantite, $description, $imgBDD, $matiere, $sexe, $id_taille, null, null, $id_piece);
                 }
                 return true;
             } else {
                 $msg['error']['generale'] = self::ERREUR_POST;
             }
             break;
         case 'roue':
             if (isset($_POST['matiere']) && array_key_exists($_POST['matiere'], $select['matiere']) != false && isset($_POST['id_taille']) && array_key_exists($_POST['id_taille'], $select['taille']) != false) {
                 if (!$update) {
                     $donneesStocks->insertPieces($type_piece, $type_velo, $titre, $poids, $prix, $quantite, $description, $imgBDD, $matiere, null, $id_taille);
                 } else {
                     $donneesStocks->updatePieces($type_velo, $titre, $poids, $prix, $quantite, $description, $imgBDD, $matiere, null, $id_taille, null, null, $id_piece);
                 }
                 return true;
             } else {
                 $msg['error']['generale'] = self::ERREUR_POST;
             }
             break;
         case 'selle':
             if (isset($_POST['sexe']) && array_key_exists($_POST['sexe'], $select['sexe']) != false && isset($_POST['matiere']) && array_key_exists($_POST['matiere'], $select['matiere']) != false) {
                 if (!$update) {
                     $donneesStocks->insertPieces($type_piece, $type_velo, $titre, $poids, $prix, $quantite, $description, $imgBDD, $matiere, $sexe);
                 } else {
                     $donneesStocks->updatePieces($type_velo, $titre, $poids, $prix, $quantite, $description, $imgBDD, $matiere, $sexe, null, null, null, $id_piece);
                 }
                 return true;
             } else {
                 $msg['error']['generale'] = self::ERREUR_POST;
             }
             break;
         case 'groupe':
             if (isset($_POST['pignon']) && array_key_exists($_POST['pignon'], $select['pignon']) != false && isset($_POST['plateau']) && array_key_exists($_POST['plateau'], $select['plateau']) != false) {
                 if (!$update) {
                     $donneesStocks->insertPieces($type_piece, $type_velo, $titre, $poids, $prix, $quantite, $description, $imgBDD, null, null, null, $pignon, $plateau);
                 } else {
                     $donneesStocks->updatePieces($type_velo, $titre, $poids, $prix, $quantite, $description, $imgBDD, null, null, null, $pignon, $plateau, $id_piece);
                 }
                 return true;
             } else {
                 return $msg['error']['generale'] = self::ERREUR_POST;
             }
             break;
     }
 }