/**
  * @name convertFromArray($pArray)
  * @param array()
  * @desc Convertit le array en objet NomProduitVO
  */
 public static function convertFromArray($pArray)
 {
     $lValid = isset($pArray['id']) && isset($pArray['nom']) && isset($pArray['description']) && isset($pArray['idCategorie']);
     if ($lValid) {
         $lVo = new NomProduitVO();
         $lVo->setId($pArray['id']);
         $lVo->setNom($pArray['nom']);
         $lVo->setDescription($pArray['description']);
         $lVo->setIdCategorie($pArray['idCategorie']);
         return $lVo;
     }
     return NULL;
 }
 /**
  * @name ajouterProduit($pParam)
  * @return NomProduitCatalogueVR
  * @desc Ajoute un produit et retourne son nom et ID
  */
 public function ajouterProduit($pParam)
 {
     $lVr = NomProduitCatalogueValid::validAjout($pParam);
     if ($lVr->getValid()) {
         $lNomProduitVO = new NomProduitVO();
         $lNomProduitVO->setNumero($pParam['numero']);
         $lNomProduitVO->setNom($pParam['nom']);
         $lNomProduitVO->setDescription($pParam['description']);
         $lNomProduitVO->setIdCategorie($pParam['idCategorie']);
         $lNomProduitVO->setIdFerme($pParam['id']);
         $lNomProduitVO->setEtat(0);
         $lId = NomProduitManager::insert($lNomProduitVO);
         if (empty($pParam['numero'])) {
             $lNomProduitVO->setId($lId);
             $lNomProduitVO->setNumero("PZ" . $lId);
             NomProduitManager::update($lNomProduitVO);
         }
         foreach ($pParam['producteurs'] as $lProducteur) {
             $lNomProduitProducteurVO = new NomProduitProducteurVO();
             $lNomProduitProducteurVO->setIdNomProduit($lId);
             $lNomProduitProducteurVO->setIdProducteur($lProducteur);
             $lNomProduitProducteurVO->setEtat(0);
             NomProduitProducteurManager::insert($lNomProduitProducteurVO);
         }
         foreach ($pParam['caracteristiques'] as $lCaracteristique) {
             $lCaracteristiqueProduitVO = new CaracteristiqueProduitVO();
             $lCaracteristiqueProduitVO->setIdNomProduit($lId);
             $lCaracteristiqueProduitVO->setIdCaracteristique($lCaracteristique);
             $lCaracteristiqueProduitVO->setEtat(0);
             CaracteristiqueProduitManager::insert($lCaracteristiqueProduitVO);
         }
         foreach ($pParam['modelesLot'] as $lModeleLot) {
             $lModeleLotVO = new ModeleLotVO();
             $lModeleLotVO->setIdNomProduit($lId);
             $lModeleLotVO->setQuantite($lModeleLot["quantite"]);
             $lModeleLotVO->setUnite($lModeleLot["unite"]);
             $lModeleLotVO->setPrix($lModeleLot["prix"]);
             $lModeleLotVO->setEtat(0);
             ModeleLotManager::insert($lModeleLotVO);
         }
     }
     return $lVr;
 }
 /**
  * @name remplirNomProduit($pId, $pNumero, $pNom, $pDescription, $pIdCategorie, $pIdFerme, $pEtat)
  * @param int(11)
  * @param varchar(50)
  * @param varchar(50)
  * @param text
  * @param int(11)
  * @param int(11)
  * @param int(11)
  * @return NomProduitVO
  * @desc Retourne une NomProduitVO remplie
  */
 private static function remplirNomProduit($pId, $pNumero, $pNom, $pDescription, $pIdCategorie, $pIdFerme, $pEtat)
 {
     $lNomProduit = new NomProduitVO();
     $lNomProduit->setId($pId);
     $lNomProduit->setNumero($pNumero);
     $lNomProduit->setNom($pNom);
     $lNomProduit->setDescription($pDescription);
     $lNomProduit->setIdCategorie($pIdCategorie);
     $lNomProduit->setIdFerme($pIdFerme);
     $lNomProduit->setEtat($pEtat);
     return $lNomProduit;
 }