/**
  * @name validDelete($pData)
  * @return ProducteurVR
  * @desc Test la validite de l'élément
  */
 public static function validDelete($pData)
 {
     $lVr = new ProducteurVR();
     //Tests inputs
     if (!isset($pData['id'])) {
         $lVr->setValid(false);
         $lVr->getId()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getId()->addErreur($lErreur);
     }
     if ($lVr->getValid()) {
         //Tests Techniques
         if (!is_int((int) $pData['id'])) {
             $lVr->setValid(false);
             $lVr->getId()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_104_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_104_MSG);
             $lVr->getId()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['id'], 0, 11)) {
             $lVr->setValid(false);
             $lVr->getId()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getId()->addErreur($lErreur);
         }
         if (empty($pData['id'])) {
             $lVr->setValid(false);
             $lVr->getId()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getId()->addErreur($lErreur);
         }
         // Le producteur doit exister
         $lProducteur = ProducteurManager::select($pData['id']);
         if ($lProducteur->getId() != $pData['id']) {
             $lVr->setValid(false);
             $lVr->getId()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getId()->addErreur($lErreur);
         }
     }
     return $lVr;
 }
 /**
  * @name validUpdate($pData)
  * @return ProduitCommandeVR
  * @desc Test la validite de l'élément
  */
 public static function validUpdate($pData)
 {
     $lTestId = ProduitCommandeValid::validDelete($pData);
     if ($lTestId->getValid()) {
         $lVr = new ProduitCommandeVR();
         //Tests Techniques
         if (!TestFonction::checkLength($pData['idNom'], 0, 11)) {
             $lVr->setValid(false);
             $lVr->getIdNom()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getIdNom()->addErreur($lErreur);
         }
         if (!is_int((int) $pData['idNom'])) {
             $lVr->setValid(false);
             $lVr->getIdNom()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
             $lVr->getIdNom()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['idProducteur'], 0, 11)) {
             $lVr->setValid(false);
             $lVr->getIdProducteur()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getIdProducteur()->addErreur($lErreur);
         }
         if (!is_int((int) $pData['idProducteur'])) {
             $lVr->setValid(false);
             $lVr->getIdProducteur()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
             $lVr->getIdProducteur()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['nom'], 0, 50)) {
             $lVr->setValid(false);
             $lVr->getNom()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getNom()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['idCategorie'], 0, 11)) {
             $lVr->setValid(false);
             $lVr->getIdCategorie()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getIdCategorie()->addErreur($lErreur);
         }
         if ($pData['idCategorie'] != '' && !is_int((int) $pData['idCategorie'])) {
             $lVr->setValid(false);
             $lVr->getIdCategorie()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
             $lVr->getIdCategorie()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['categorie'], 0, 50)) {
             $lVr->setValid(false);
             $lVr->getCategorie()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getCategorie()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['unite'], 0, 20)) {
             $lVr->setValid(false);
             $lVr->getUnite()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getUnite()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['qteMaxCommande'], 0, 12) || $pData['qteMaxCommande'] > 999999999.99) {
             $lVr->setValid(false);
             $lVr->getQteMaxCommande()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getQteMaxCommande()->addErreur($lErreur);
         }
         if (!is_float((double) $pData['qteMaxCommande'])) {
             $lVr->setValid(false);
             $lVr->getQteMaxCommande()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_109_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_109_MSG);
             $lVr->getQteMaxCommande()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['qteRestante'], 0, 12) || $pData['qteRestante'] > 999999999.99) {
             $lVr->setValid(false);
             $lVr->getQteRestante()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getQteRestante()->addErreur($lErreur);
         }
         if (!is_float((double) $pData['qteRestante'])) {
             $lVr->setValid(false);
             $lVr->getQteRestante()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_109_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_109_MSG);
             $lVr->getQteRestante()->addErreur($lErreur);
         }
         if (!is_array($pData['lots'])) {
             $lVr->setValid(false);
             $lVr->getLog()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_110_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_110_MSG);
             $lVr->getLog()->addErreur($lErreur);
         }
         //Tests Fonctionnels
         if (empty($pData['idNom'])) {
             $lVr->setValid(false);
             $lVr->getIdNom()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getIdNom()->addErreur($lErreur);
         }
         if (empty($pData['idProducteur'])) {
             $lVr->setValid(false);
             $lVr->getIdProducteur()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getIdProducteur()->addErreur($lErreur);
         }
         if (empty($pData['unite'])) {
             $lVr->setValid(false);
             $lVr->getUnite()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getUnite()->addErreur($lErreur);
         }
         if (empty($pData['qteMaxCommande'])) {
             $lVr->setValid(false);
             $lVr->getQteMaxCommande()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getQteMaxCommande()->addErreur($lErreur);
         }
         if (empty($pData['qteRestante'])) {
             $lVr->setValid(false);
             $lVr->getQteRestante()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getQteRestante()->addErreur($lErreur);
         }
         if (empty($pData['lots'])) {
             $lVr->setValid(false);
             $lVr->getLog()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getLog()->addErreur($lErreur);
         }
         // Test de l'existance du produit
         if ($lVr->getIdNom()->getValid()) {
             $lNomProduit = NomProduitManager::select($pData['idNom']);
             $lId = $lNomProduit->getId();
             if (empty($lId)) {
                 $lVr->setValid(false);
                 $lVr->getLog()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_210_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_210_MSG);
                 $lVr->getLog()->addErreur($lErreur);
             }
         }
         // Test de l'existance du producteur
         if ($lVr->getIdProducteur()->getValid()) {
             $lIdProducteur = ProducteurManager::select($pData['idProducteur']);
             $lId = $lIdProducteur->getId();
             if (empty($lId)) {
                 $lVr->setValid(false);
                 $lVr->getLog()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_234_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_234_MSG);
                 $lVr->getLog()->addErreur($lErreur);
             }
         }
         // Les quantités sont positives
         if ($pData['qteMaxCommande'] <= 0) {
             $lVr->setValid(false);
             $lVr->getQteMaxCommande()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_215_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_215_MSG);
             $lVr->getQteMaxCommande()->addErreur($lErreur);
         }
         if ($pData['qteRestante'] <= 0) {
             $lVr->setValid(false);
             $lVr->getQteRestante()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_215_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_215_MSG);
             $lVr->getQteRestante()->addErreur($lErreur);
         }
         if ($pData['qteMaxCommande'] > $pData['qteRestante']) {
             $lVr->setValid(false);
             $lVr->getQteRestante()->setValid(false);
             $lVr->getQteMaxCommande()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_205_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_205_MSG);
             $lVr->getQteRestante()->addErreur($lErreur);
             $lVr->getQteMaxCommande()->addErreur($lErreur);
         }
         if (is_array($pData['lots'])) {
             $lValidLot = new DetailCommandeValid();
             $i = 0;
             while (isset($pData['lots'][$i])) {
                 $lVrLot = $lValidLot->validUpdate($pData['lots'][$i]);
                 if (!$lVrLot->getValid()) {
                     $lVr->setValid(false);
                 }
                 if (floatval($pData['lots'][$i]['taille']) > floatval($pData['qteMaxCommande'])) {
                     $lVr->setValid(false);
                     $lVrLot->setValid(false);
                     $lVrLot->getTaille()->setValid(false);
                     $lErreur = new VRerreur();
                     $lErreur->setCode(MessagesErreurs::ERR_206_CODE);
                     $lErreur->setMessage(MessagesErreurs::ERR_206_MSG);
                     $lVrLot->getTaille()->addErreur($lErreur);
                 }
                 $lVr->addLots($lVrLot);
                 $i++;
             }
         }
         return $lVr;
     }
     return $lTestId;
 }
 /**
  * @name modifierProducteur($pParam)
  * @desc Met à jour les informations du Producteur ainsi que ses autorisations
  */
 public function modifierProducteur($pParam)
 {
     $lVr = ProducteurValid::validUpdate($pParam);
     if ($lVr->getValid()) {
         $lProducteur = new ProducteurVO();
         $lProducteur->setId($pParam["id"]);
         $lProducteur->setIdFerme($pParam["idFerme"]);
         $lProducteur->setNom($pParam["nom"]);
         $lProducteur->setPrenom($pParam["prenom"]);
         $lProducteur->setCourrielPrincipal($pParam["courrielPrincipal"]);
         $lProducteur->setCourrielSecondaire($pParam["courrielSecondaire"]);
         $lProducteur->setTelephonePrincipal($pParam["telephonePrincipal"]);
         $lProducteur->setTelephoneSecondaire($pParam["telephoneSecondaire"]);
         $lProducteur->setAdresse($pParam["adresse"]);
         $lProducteur->setCodePostal($pParam["codePostal"]);
         $lProducteur->setVille($pParam["ville"]);
         $lProducteur->setDateNaissance($pParam["dateNaissance"]);
         $lProducteur->setCommentaire($pParam["commentaire"]);
         // Insertion de la date de mise à jour
         $lProducteur->setDateMaj(StringUtils::dateTimeAujourdhuiDb());
         // On reporte le numero dans la maj
         $lProducteurActuel = ProducteurManager::select($lProducteur->getId());
         $lProducteur->setNumero($lProducteurActuel->getNumero());
         // L'adherent n'est pas supprimé
         $lProducteur->setEtat(0);
         // Maj du producteur dans la BDD
         ProducteurManager::update($lProducteur);
         $lResponse = new ModifierProducteurResponse();
         $lResponse->setNumero($lProducteur->getNumero());
         return $lResponse;
     }
     return $lVr;
 }
 /**
  * @name validAjout($pData)
  * @return NomProduitCatalogueVR
  * @desc Test la validite de l'élément
  */
 public static function validAjout($pData)
 {
     $lVr = new NomProduitCatalogueVR();
     //Tests inputs
     if (!isset($pData['id'])) {
         $lVr->setValid(false);
         $lVr->getId()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getId()->addErreur($lErreur);
     }
     if (!isset($pData['numero'])) {
         $lVr->setValid(false);
         $lVr->getNumero()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getNumero()->addErreur($lErreur);
     }
     if (!isset($pData['idCategorie'])) {
         $lVr->setValid(false);
         $lVr->getIdCategorie()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getIdCategorie()->addErreur($lErreur);
     }
     if (!isset($pData['nom'])) {
         $lVr->setValid(false);
         $lVr->getNom()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getNom()->addErreur($lErreur);
     }
     if (!isset($pData['description'])) {
         $lVr->setValid(false);
         $lVr->getDescription()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getDescription()->addErreur($lErreur);
     }
     if (!isset($pData['producteurs'])) {
         $lVr->setValid(false);
         $lVr->getProducteurs()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getProducteurs()->addErreur($lErreur);
     }
     if (!isset($pData['caracteristiques'])) {
         $lVr->setValid(false);
         $lVr->getCaracteristiques()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getCaracteristiques()->addErreur($lErreur);
     }
     if (!isset($pData['modelesLot'])) {
         $lVr->setValid(false);
         $lVr->getLog()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getLog()->addErreur($lErreur);
     }
     if ($lVr->getValid()) {
         //Tests Techniques
         if (!TestFonction::checkLength($pData['id'], 0, 11)) {
             $lVr->setValid(false);
             $lVr->getId()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getId()->addErreur($lErreur);
         }
         if (!is_int((int) $pData['id'])) {
             $lVr->setValid(false);
             $lVr->getId()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
             $lVr->getId()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['numero'], 0, 50)) {
             $lVr->setValid(false);
             $lVr->getNumero()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getNumero()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['idCategorie'], 0, 11)) {
             $lVr->setValid(false);
             $lVr->getIdCategorie()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getIdCategorie()->addErreur($lErreur);
         }
         if (!is_int((int) $pData['idCategorie'])) {
             $lVr->setValid(false);
             $lVr->getIdCategorie()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
             $lVr->getIdCategorie()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['nom'], 0, 50)) {
             $lVr->setValid(false);
             $lVr->getNom()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getNom()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['description'], 0, 500)) {
             $lVr->setValid(false);
             $lVr->getDescription()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getDescription()->addErreur($lErreur);
         }
         if (!is_array($pData['producteurs'])) {
             $lVr->setValid(false);
             $lVr->getProducteurs()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_115_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_115_MSG);
             $lVr->getProducteurs()->addErreur($lErreur);
         }
         if (!is_array($pData['caracteristiques'])) {
             $lVr->setValid(false);
             $lVr->getCaracteristiques()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_115_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_115_MSG);
             $lVr->getCaracteristiques()->addErreur($lErreur);
         }
         if (!is_array($pData['modelesLot'])) {
             $lVr->setValid(false);
             $lVr->getLog()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_115_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_115_MSG);
             $lVr->getLog()->addErreur($lErreur);
         }
         if ($lVr->getValid()) {
             //Tests Fonctionnels
             if (empty($pData['id'])) {
                 $lVr->setValid(false);
                 $lVr->getId()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
                 $lVr->getId()->addErreur($lErreur);
             }
             if (empty($pData['idCategorie'])) {
                 $lVr->setValid(false);
                 $lVr->getIdCategorie()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
                 $lVr->getIdCategorie()->addErreur($lErreur);
             }
             if ($pData['idCategorie'] == 0) {
                 $lVr->setValid(false);
                 $lVr->getIdCategorie()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
                 $lVr->getIdCategorie()->addErreur($lErreur);
             }
             if (empty($pData['nom'])) {
                 $lVr->setValid(false);
                 $lVr->getNom()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
                 $lVr->getNom()->addErreur($lErreur);
             }
             if (empty($pData['modelesLot'])) {
                 $lVr->setValid(false);
                 $lVr->getLog()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_264_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_264_MSG);
                 $lVr->getLog()->addErreur($lErreur);
             }
             // La Ferme doit exister
             $lFerme = FermeManager::select($pData['id']);
             if ($lFerme->getId() != $pData['id']) {
                 $lVr->setValid(false);
                 $lVr->getId()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
                 $lVr->getId()->addErreur($lErreur);
             }
             // La Catégorie doit exister
             $lCategorieProduit = CategorieProduitManager::select($pData['idCategorie']);
             if ($lCategorieProduit->getId() != $pData['idCategorie']) {
                 $lVr->setValid(false);
                 $lVr->getIdCategorie()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
                 $lVr->getIdCategorie()->addErreur($lErreur);
             }
             foreach ($pData['producteurs'] as $lProducteur) {
                 $lProducteurVO = ProducteurManager::select($lProducteur);
                 if ($lProducteurVO->getIdFerme() != $pData['id']) {
                     $lVr->setValid(false);
                     $lVr->getProducteurs()->setValid(false);
                     $lErreur = new VRerreur();
                     $lErreur->setCode(MessagesErreurs::ERR_216_CODE);
                     $lErreur->setMessage(MessagesErreurs::ERR_216_MSG);
                     $lVr->getProducteurs()->addErreur($lErreur);
                 }
             }
             foreach ($pData['caracteristiques'] as $lCaracteristique) {
                 $lCaracteristiqueVO = CaracteristiqueManager::select($lCaracteristique);
                 if ($lCaracteristiqueVO->getId() != $lCaracteristique) {
                     $lVr->setValid(false);
                     $lVr->getCaracteristiques()->setValid(false);
                     $lErreur = new VRerreur();
                     $lErreur->setCode(MessagesErreurs::ERR_216_CODE);
                     $lErreur->setMessage(MessagesErreurs::ERR_216_MSG);
                     $lVr->getCaracteristiques()->addErreur($lErreur);
                 }
             }
             foreach ($pData['modelesLot'] as $lModeleLot) {
                 $lModeleLotVR = ModeleLotValid::ValidSet($lModeleLot);
                 if (!$lModeleLotVR->getValid()) {
                     $lVr->setValid(false);
                 }
                 $lVr->addModelesLot($lModeleLotVR);
             }
         }
     }
     return $lVr;
 }