/**
  * @name ajouterProducteur($pParam)
  * @return string
  * @desc Controle et formatte les données avant de les insérer dans la BDD. Retourne l'Id en cas de succés ou une erreur.
  */
 public function ajouterProducteur($pParam)
 {
     $lVr = ProducteurValid::validAjout($pParam);
     if ($lVr->getValid()) {
         $lProducteur = new ProducteurVO();
         $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 création
         $lProducteur->setDateCreation(StringUtils::dateAujourdhuiDb());
         // Insertion de la première mise à jour
         $lProducteur->setDateMaj(StringUtils::dateTimeAujourdhuiDb());
         // Le producteur n'est pas supprimé
         $lProducteur->setEtat(0);
         // Enregistre le poducteur dans la BDD
         $lId = ProducteurManager::insert($lProducteur);
         $lResponse = new AjoutProducteurResponse();
         $lResponse->setId($lId);
         $lProducteur = ProducteurManager::select($lId);
         $lResponse->setNumero($lProducteur->getNumero());
         return $lResponse;
     }
     return $lVr;
 }
 /**
  * @name insert($pCompte)
  * @param CompteVO
  * @return CompteVO
  * @desc Ajoute un compte
  */
 private function insert($pCompte)
 {
     $lId = CompteManager::insert($pCompte);
     // Le label est l'id du compte par défaut
     $pCompte->setId($lId);
     $pCompte->setLabel('C' . $lId);
     $this->update($pCompte);
     // Initialisation du compte
     $lOperation = new OperationDetailVO();
     $lOperation->setIdCompte($lId);
     $lOperation->setMontant(0);
     $lOperation->setLibelle("Création du compte");
     $lOperation->setDate(StringUtils::dateAujourdhuiDb());
     $lOperation->setTypePaiement(-1);
     $lOperationService = new OperationService();
     $lOperationService->set($lOperation);
     return $pCompte;
 }
 /**
  * @name validAjout($pData)
  * @return CommandeCompleteVR
  * @desc Test la validite de l'élément
  */
 public static function validAjout($pData)
 {
     $lVr = new CommandeCompleteVR();
     //Tests inputs
     if (!isset($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 (!isset($pData['dateMarcheDebut'])) {
         $lVr->setValid(false);
         $lVr->getDateMarcheDebut()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getDateMarcheDebut()->addErreur($lErreur);
     }
     if (!isset($pData['timeMarcheDebut'])) {
         $lVr->setValid(false);
         $lVr->getTimeMarcheDebut()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getTimeMarcheDebut()->addErreur($lErreur);
     }
     if (!isset($pData['dateMarcheFin'])) {
         $lVr->setValid(false);
         $lVr->getDateMarcheFin()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getDateMarcheFin()->addErreur($lErreur);
     }
     if (!isset($pData['timeMarcheFin'])) {
         $lVr->setValid(false);
         $lVr->getTimeMarcheFin()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getTimeMarcheFin()->addErreur($lErreur);
     }
     if (!isset($pData['dateDebutReservation'])) {
         $lVr->setValid(false);
         $lVr->getDateDebutReservation()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getDateDebutReservation()->addErreur($lErreur);
     }
     if (!isset($pData['timeDebutReservation'])) {
         $lVr->setValid(false);
         $lVr->getTimeDebutReservation()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getTimeDebutReservation()->addErreur($lErreur);
     }
     if (!isset($pData['dateFinReservation'])) {
         $lVr->setValid(false);
         $lVr->getDateFinReservation()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getDateFinReservation()->addErreur($lErreur);
     }
     if (!isset($pData['timeFinReservation'])) {
         $lVr->setValid(false);
         $lVr->getTimeFinReservation()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getTimeFinReservation()->addErreur($lErreur);
     }
     if (!isset($pData['archive'])) {
         $lVr->setValid(false);
         $lVr->getArchive()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getArchive()->addErreur($lErreur);
     }
     if (!isset($pData['produits'])) {
         $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);
     }
     if (!isset($pData['description'])) {
         $lVr->setValid(false);
         $lVr->getDescription()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getDescription()->addErreur($lErreur);
     }
     if (!isset($pData['produitsAbonnement'])) {
         $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);
     }
     if ($lVr->getValid()) {
         //Tests Techniques
         if (!TestFonction::checkLength($pData['nom'], 0, 100)) {
             $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::checkDate($pData['dateMarcheDebut'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateMarcheDebut()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_103_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_103_MSG);
             $lVr->getDateMarcheDebut()->addErreur($lErreur);
         }
         if (!TestFonction::checkDateExist($pData['dateMarcheDebut'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateMarcheDebut()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_105_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_105_MSG);
             $lVr->getDateMarcheDebut()->addErreur($lErreur);
         }
         if (!TestFonction::checkTime($pData['timeMarcheDebut'])) {
             $lVr->setValid(false);
             $lVr->getTimeMarcheDebut()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_106_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_106_MSG);
             $lVr->getTimeMarcheDebut()->addErreur($lErreur);
         }
         if (!TestFonction::checkTimeExist($pData['timeMarcheDebut'])) {
             $lVr->setValid(false);
             $lVr->getTimeMarcheDebut()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_107_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_107_MSG);
             $lVr->getTimeMarcheDebut()->addErreur($lErreur);
         }
         if (!TestFonction::checkDate($pData['dateMarcheFin'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateMarcheFin()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_103_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_103_MSG);
             $lVr->getDateMarcheFin()->addErreur($lErreur);
         }
         if (!TestFonction::checkDateExist($pData['dateMarcheFin'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateMarcheFin()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_105_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_105_MSG);
             $lVr->getDateMarcheFin()->addErreur($lErreur);
         }
         if (!TestFonction::checkTime($pData['timeMarcheFin'])) {
             $lVr->setValid(false);
             $lVr->getTimeMarcheFin()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_106_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_106_MSG);
             $lVr->getTimeMarcheFin()->addErreur($lErreur);
         }
         if (!TestFonction::checkTimeExist($pData['timeMarcheFin'])) {
             $lVr->setValid(false);
             $lVr->getTimeMarcheFin()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_107_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_107_MSG);
             $lVr->getTimeMarcheFin()->addErreur($lErreur);
         }
         if (!TestFonction::checkDate($pData['dateDebutReservation'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateDebutReservation()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_103_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_103_MSG);
             $lVr->getDateDebutReservation()->addErreur($lErreur);
         }
         if (!TestFonction::checkDateExist($pData['dateDebutReservation'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateDebutReservation()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_105_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_105_MSG);
             $lVr->getDateDebutReservation()->addErreur($lErreur);
         }
         if (!TestFonction::checkTime($pData['timeDebutReservation'])) {
             $lVr->setValid(false);
             $lVr->getTimeDebutReservation()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_106_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_106_MSG);
             $lVr->getTimeDebutReservation()->addErreur($lErreur);
         }
         if (!TestFonction::checkTimeExist($pData['timeDebutReservation'])) {
             $lVr->setValid(false);
             $lVr->getTimeDebutReservation()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_107_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_107_MSG);
             $lVr->getTimeDebutReservation()->addErreur($lErreur);
         }
         if (!TestFonction::checkDate($pData['dateFinReservation'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateFinReservation()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_103_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_103_MSG);
             $lVr->getDateFinReservation()->addErreur($lErreur);
         }
         if (!TestFonction::checkDateExist($pData['dateFinReservation'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateFinReservation()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_105_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_105_MSG);
             $lVr->getDateFinReservation()->addErreur($lErreur);
         }
         if (!TestFonction::checkTime($pData['timeFinReservation'])) {
             $lVr->setValid(false);
             $lVr->getTimeFinReservation()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_106_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_106_MSG);
             $lVr->getTimeFinReservation()->addErreur($lErreur);
         }
         if (!TestFonction::checkTimeExist($pData['timeFinReservation'])) {
             $lVr->setValid(false);
             $lVr->getTimeFinReservation()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_107_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_107_MSG);
             $lVr->getTimeFinReservation()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['archive'], 0, 1)) {
             $lVr->setValid(false);
             $lVr->getArchive()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getArchive()->addErreur($lErreur);
         }
         if (!is_array($pData['produits'])) {
             $lVr->setValid(false);
             $lVr->getLog()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_111_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_111_MSG);
             $lVr->getLog()->addErreur($lErreur);
         }
         if (!is_array($pData['produitsAbonnement'])) {
             $lVr->setValid(false);
             $lVr->getLog()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_111_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_111_MSG);
             $lVr->getLog()->addErreur($lErreur);
         }
         //Tests Fonctionnels
         if (empty($pData['dateMarcheDebut'])) {
             $lVr->setValid(false);
             $lVr->getDateMarcheDebut()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getDateMarcheDebut()->addErreur($lErreur);
         }
         if (empty($pData['timeMarcheDebut'])) {
             $lVr->setValid(false);
             $lVr->getTimeMarcheDebut()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getTimeMarcheDebut()->addErreur($lErreur);
         }
         if (empty($pData['dateMarcheFin'])) {
             $lVr->setValid(false);
             $lVr->getDateMarcheFin()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getDateMarcheFin()->addErreur($lErreur);
         }
         if (empty($pData['timeMarcheFin'])) {
             $lVr->setValid(false);
             $lVr->getTimeMarcheFin()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getTimeMarcheFin()->addErreur($lErreur);
         }
         if (empty($pData['dateDebutReservation'])) {
             $lVr->setValid(false);
             $lVr->getDateDebutReservation()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getDateDebutReservation()->addErreur($lErreur);
         }
         if (empty($pData['timeDebutReservation'])) {
             $lVr->setValid(false);
             $lVr->getTimeDebutReservation()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getTimeDebutReservation()->addErreur($lErreur);
         }
         if (empty($pData['dateFinReservation'])) {
             $lVr->setValid(false);
             $lVr->getDateFinReservation()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getDateFinReservation()->addErreur($lErreur);
         }
         if (empty($pData['timeFinReservation'])) {
             $lVr->setValid(false);
             $lVr->getTimeFinReservation()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getTimeFinReservation()->addErreur($lErreur);
         }
         if (empty($pData['archive']) && intval($pData['archive']) != 0) {
             $lVr->setValid(false);
             $lVr->getArchive()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getArchive()->addErreur($lErreur);
         }
         if (empty($pData['produits']) && empty($pData['produitsAbonnement'])) {
             $lVr->setValid(false);
             $lVr->getLog()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_207_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_207_MSG);
             $lVr->getLog()->addErreur($lErreur);
         }
         if (!TestFonction::dateTimeEstPLusGrandeEgale($pData['dateFinReservation'] . " " . $pData['timeFinReservation'], $pData['dateDebutReservation'] . " " . $pData['timeDebutReservation'], "db")) {
             if (!TestFonction::dateEstPLusGrandeEgale($pData['dateFinReservation'], $pData['dateDebutReservation'], "db")) {
                 $lVr->setValid(false);
                 $lVr->getDateDebutReservation()->setValid(false);
                 $lVr->getDateFinReservation()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_247_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_247_MSG);
                 $lVr->getDateDebutReservation()->addErreur($lErreur);
                 $lVr->getDateFinReservation()->addErreur($lErreur);
             } else {
                 if (TestFonction::timeEstPLusGrandeEgale($pData['timeDebutReservation'], $pData['timeFinReservation'])) {
                     $lVr->setValid(false);
                     $lVr->getTimeDebutReservation()->setValid(false);
                     $lVr->getTimeFinReservation()->setValid(false);
                     $lErreur = new VRerreur();
                     $lErreur->setCode(MessagesErreurs::ERR_248_CODE);
                     $lErreur->setMessage(MessagesErreurs::ERR_248_MSG);
                     $lVr->getTimeDebutReservation()->addErreur($lErreur);
                     $lVr->getTimeFinReservation()->addErreur($lErreur);
                 }
             }
         }
         if (!TestFonction::dateTimeEstPLusGrandeEgale($pData['dateMarcheDebut'] . " " . $pData['timeMarcheDebut'], $pData['dateFinReservation'] . " " . $pData['timeFinReservation'], "db")) {
             if (!TestFonction::dateEstPLusGrandeEgale($pData['dateMarcheDebut'], $pData['dateFinReservation'], "db")) {
                 $lVr->setValid(false);
                 $lVr->getDateMarcheDebut()->setValid(false);
                 $lVr->getDateFinReservation()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_202_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_202_MSG);
                 $lVr->getDateMarcheDebut()->addErreur($lErreur);
                 $lVr->getDateFinReservation()->addErreur($lErreur);
             } else {
                 if (TestFonction::timeEstPLusGrandeEgale($pData['timeFinReservation'], $pData['timeMarcheDebut'])) {
                     $lVr->setValid(false);
                     $lVr->getTimeMarcheDebut()->setValid(false);
                     $lVr->getTimeFinReservation()->setValid(false);
                     $lErreur = new VRerreur();
                     $lErreur->setCode(MessagesErreurs::ERR_203_CODE);
                     $lErreur->setMessage(MessagesErreurs::ERR_203_MSG);
                     $lVr->getTimeMarcheDebut()->addErreur($lErreur);
                     $lVr->getTimeFinReservation()->addErreur($lErreur);
                 }
             }
         }
         if (TestFonction::dateTimeEstPLusGrandeEgale($pData['dateMarcheDebut'] . " " . $pData['timeMarcheDebut'], $pData['dateMarcheFin'] . " " . $pData['timeMarcheFin'], "db")) {
             if (TestFonction::timeEstPLusGrandeEgale($pData['timeMarcheDebut'], $pData['timeMarcheFin'])) {
                 $lVr->setValid(false);
                 $lVr->getTimeMarcheDebut()->setValid(false);
                 $lVr->getTimeMarcheFin()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_204_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_204_MSG);
                 $lVr->getTimeMarcheDebut()->addErreur($lErreur);
                 $lVr->getTimeMarcheFin()->addErreur($lErreur);
             } else {
                 if (TestFonction::dateEstPLusGrandeEgale($pData['dateMarcheDebut'], $pData['dateMarcheFin'], "db")) {
                     $lVr->setValid(false);
                     $lVr->getDateMarcheDebut()->setValid(false);
                     $lVr->getDateMarcheFin()->setValid(false);
                     $lErreur = new VRerreur();
                     $lErreur->setCode(MessagesErreurs::ERR_208_CODE);
                     $lErreur->setMessage(MessagesErreurs::ERR_208_MSG);
                     $lVr->getDateMarcheDebut()->addErreur($lErreur);
                     $lVr->getDateMarcheFin()->addErreur($lErreur);
                 }
             }
         }
         // Les dates ne doivent pas être avant aujourd'hui
         if (!TestFonction::dateEstPLusGrandeEgale($pData['dateMarcheDebut'], StringUtils::dateAujourdhuiDb(), "db")) {
             $lVr->setValid(false);
             $lVr->getDateMarcheDebut()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_209_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_209_MSG);
             $lVr->getDateMarcheDebut()->addErreur($lErreur);
         }
         if (!TestFonction::dateEstPLusGrandeEgale($pData['dateMarcheFin'], StringUtils::dateAujourdhuiDb(), "db")) {
             $lVr->setValid(false);
             $lVr->getDateMarcheFin()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_209_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_209_MSG);
             $lVr->getDateMarcheFin()->addErreur($lErreur);
         }
         if (!TestFonction::dateEstPLusGrandeEgale($pData['dateFinReservation'], StringUtils::dateAujourdhuiDb(), "db")) {
             $lVr->setValid(false);
             $lVr->getDateFinReservation()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_209_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_209_MSG);
             $lVr->getDateFinReservation()->addErreur($lErreur);
         }
         if (is_array($pData['produits'])) {
             $lValidProduit = new ProduitMarcheValid();
             $i = 0;
             while (isset($pData['produits'][$i])) {
                 $lVrProduit = $lValidProduit->validAjout($pData['produits'][$i]);
                 if (!$lVrProduit->getValid()) {
                     $lVr->setValid(false);
                 }
                 $lVr->addProduits($lVrProduit);
                 $i++;
             }
         }
         if (is_array($pData['produitsAbonnement'])) {
             $lValidProduit = new ProduitMarcheValid();
             $i = 0;
             while (isset($pData['produitsAbonnement'][$i])) {
                 $lVrProduit = $lValidProduit->validAjout($pData['produitsAbonnement'][$i]);
                 if (!$lVrProduit->getValid()) {
                     $lVr->setValid(false);
                 }
                 $lVr->addProduits($lVrProduit);
                 $i++;
             }
         }
     }
     return $lVr;
 }
 /**
  * @name validAjout($pData)
  * @return ProducteurVR
  * @desc Test la validite de l'élément
  */
 public static function validAjout($pData)
 {
     $lVr = new ProducteurVR();
     //Tests inputs
     if (!isset($pData['idFerme'])) {
         $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['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['prenom'])) {
         $lVr->setValid(false);
         $lVr->getPrenom()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getPrenom()->addErreur($lErreur);
     }
     if (!isset($pData['dateNaissance'])) {
         $lVr->setValid(false);
         $lVr->getDateNaissance()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_CODE);
         $lVr->getDateNaissance()->addErreur($lErreur);
     }
     if (!isset($pData['commentaire'])) {
         $lVr->setValid(false);
         $lVr->getCommentaire()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getCommentaire()->addErreur($lErreur);
     }
     if (!isset($pData['courrielPrincipal'])) {
         $lVr->setValid(false);
         $lVr->getCourrielPrincipal()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getCourrielPrincipal()->addErreur($lErreur);
     }
     if (!isset($pData['courrielSecondaire'])) {
         $lVr->setValid(false);
         $lVr->getCourrielSecondaire()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getCourrielSecondaire()->addErreur($lErreur);
     }
     if (!isset($pData['telephonePrincipal'])) {
         $lVr->setValid(false);
         $lVr->getTelephonePrincipal()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getTelephonePrincipal()->addErreur($lErreur);
     }
     if (!isset($pData['telephoneSecondaire'])) {
         $lVr->setValid(false);
         $lVr->getTelephoneSecondaire()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getTelephoneSecondaire()->addErreur($lErreur);
     }
     if (!isset($pData['adresse'])) {
         $lVr->setValid(false);
         $lVr->getAdresse()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getAdresse()->addErreur($lErreur);
     }
     if (!isset($pData['codePostal'])) {
         $lVr->setValid(false);
         $lVr->getCodePostal()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getCodePostal()->addErreur($lErreur);
     }
     if (!isset($pData['ville'])) {
         $lVr->setValid(false);
         $lVr->getVille()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getVille()->addErreur($lErreur);
     }
     if ($lVr->getValid()) {
         //Tests Techniques
         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['prenom'], 0, 50)) {
             $lVr->setValid(false);
             $lVr->getPrenom()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getPrenom()->addErreur($lErreur);
         }
         if ($pData['dateNaissance'] != '' && !TestFonction::checkDate($pData['dateNaissance'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateNaissance()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_103_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_103_MSG);
             $lVr->getDateNaissance()->addErreur($lErreur);
         }
         if ($pData['dateNaissance'] != '' && !TestFonction::checkDateExist($pData['dateNaissance'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateNaissance()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_105_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_105_MSG);
             $lVr->getDateNaissance()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['commentaire'], 0, 500)) {
             $lVr->setValid(false);
             $lVr->getCommentaire()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getCommentaire()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['courrielPrincipal'], 0, 100)) {
             $lVr->setValid(false);
             $lVr->getCourrielPrincipal()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getCourrielPrincipal()->addErreur($lErreur);
         }
         if ($pData['courrielPrincipal'] != '' && !TestFonction::checkCourriel($pData['courrielPrincipal'])) {
             $lVr->setValid(false);
             $lVr->getCourrielPrincipal()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_102_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_102_MSG);
             $lVr->getCourrielPrincipal()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['courrielSecondaire'], 0, 100)) {
             $lVr->setValid(false);
             $lVr->getCourrielSecondaire()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getCourrielSecondaire()->addErreur($lErreur);
         }
         if ($pData['courrielSecondaire'] != '' && !TestFonction::checkCourriel($pData['courrielSecondaire'])) {
             $lVr->setValid(false);
             $lVr->getCourrielSecondaire()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_102_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_102_MSG);
             $lVr->getCourrielSecondaire()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['telephonePrincipal'], 0, 20)) {
             $lVr->setValid(false);
             $lVr->getTelephonePrincipal()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getTelephonePrincipal()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['telephoneSecondaire'], 0, 20)) {
             $lVr->setValid(false);
             $lVr->getTelephoneSecondaire()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getTelephoneSecondaire()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['adresse'], 0, 300)) {
             $lVr->setValid(false);
             $lVr->getAdresse()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getAdresse()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['codePostal'], 0, 10)) {
             $lVr->setValid(false);
             $lVr->getCodePostal()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getCodePostal()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['ville'], 0, 100)) {
             $lVr->setValid(false);
             $lVr->getVille()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getVille()->addErreur($lErreur);
         }
         //Tests Fonctionnels
         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['prenom'])) {
             $lVr->setValid(false);
             $lVr->getPrenom()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getPrenom()->addErreur($lErreur);
         }
         // Date Naissance <= Date Actuelle
         if ($pData['dateNaissance'] != '' && !TestFonction::dateEstPLusGrandeEgale(StringUtils::dateAujourdhuiDb(), $pData['dateNaissance'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateNaissance()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_230_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_230_MSG);
             $lVr->getDateNaissance()->addErreur($lErreur);
         }
         // La ferme doit exister
         $lFerme = FermeManager::select($pData['idFerme']);
         if ($lFerme->getId() != $pData['idFerme']) {
             $lVr->setValid(false);
             $lVr->getIdFerme()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getIdFerme()->addErreur($lErreur);
         }
     }
     return $lVr;
 }
 /**
  * @name validAjout($pData)
  * @return FermeVR
  * @desc Test la validite de l'élément
  */
 public static function validAjout($pData)
 {
     $lVr = new FermeVR();
     //Tests inputs
     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['siren'])) {
         $lVr->setValid(false);
         $lVr->getSiren()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getSiren()->addErreur($lErreur);
     }
     if (!isset($pData['adresse'])) {
         $lVr->setValid(false);
         $lVr->getAdresse()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getAdresse()->addErreur($lErreur);
     }
     if (!isset($pData['codePostal'])) {
         $lVr->setValid(false);
         $lVr->getCodePostal()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getCodePostal()->addErreur($lErreur);
     }
     if (!isset($pData['ville'])) {
         $lVr->setValid(false);
         $lVr->getVille()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getVille()->addErreur($lErreur);
     }
     if (!isset($pData['dateAdhesion'])) {
         $lVr->setValid(false);
         $lVr->getDateAdhesion()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_103_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_103_MSG);
         $lVr->getDateAdhesion()->addErreur($lErreur);
     }
     if (!isset($pData['description'])) {
         $lVr->setValid(false);
         $lVr->getDescription()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_103_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_103_MSG);
         $lVr->getDescription()->addErreur($lErreur);
     }
     if ($lVr->getValid()) {
         //Tests Techniques
         if (!TestFonction::checkLength($pData['nom'], 0, 300)) {
             $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['siren'], 0, 9)) {
             $lVr->setValid(false);
             $lVr->getSiren()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getSiren()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['adresse'], 0, 300)) {
             $lVr->setValid(false);
             $lVr->getAdresse()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getAdresse()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['codePostal'], 0, 10)) {
             $lVr->setValid(false);
             $lVr->getCodePostal()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getCodePostal()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['ville'], 0, 100)) {
             $lVr->setValid(false);
             $lVr->getVille()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getVille()->addErreur($lErreur);
         }
         if (!TestFonction::checkDate($pData['dateAdhesion'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateAdhesion()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_103_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_103_MSG);
             $lVr->getDateAdhesion()->addErreur($lErreur);
         }
         if (!TestFonction::checkDateExist($pData['dateAdhesion'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateAdhesion()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_105_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_105_MSG);
             $lVr->getDateAdhesion()->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);
         }
         //Tests Fonctionnels
         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['dateAdhesion'])) {
             $lVr->setValid(false);
             $lVr->getDateAdhesion()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getDateAdhesion()->addErreur($lErreur);
         }
         // SIREN
         if (!empty($pData['siren'])) {
             $lImpair = true;
             $lSomme = 0;
             $lPosition = strlen($pData['siren']) - 1;
             while ($lPosition >= 0) {
                 $lIncrement = 0;
                 if ($lImpair) {
                     $lIncrement = $pData['siren'][$lPosition] * 1;
                 } else {
                     $lIncrement = $pData['siren'][$lPosition] * 2;
                 }
                 if ($lIncrement > 9) {
                     $lIncrement -= 9;
                 }
                 $lSomme += $lIncrement;
                 $lImpair = !$lImpair;
                 $lPosition--;
             }
             if (fmod($lSomme, 10) != 0 || !TestFonction::checkLength($pData['siren'], 9, 9)) {
                 $lVr->setValid(false);
                 $lVr->getSiren()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_242_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_242_MSG);
                 $lVr->getSiren()->addErreur($lErreur);
             }
         }
         // Date Adhésion <= Date Actuelle
         if (!TestFonction::dateEstPLusGrandeEgale(StringUtils::dateAujourdhuiDb(), $pData['dateAdhesion'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateAdhesion()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_230_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_230_MSG);
             $lVr->getDateAdhesion()->addErreur($lErreur);
         }
     }
     return $lVr;
 }
 /**
  * @name validUpdateInformation($pData)
  * @return AdherentVR
  * @desc Test la validite de l'élément
  */
 public static function validUpdateInformation($pData)
 {
     $lVr = new AdherentVR();
     //Tests inputs
     if (!isset($pData['id_adherent'])) {
         $lVr->setValid(false);
         $lVr->getId_adherent()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getId_adherent()->addErreur($lErreur);
     }
     if (!isset($pData['idAdherentPrincipal'])) {
         $lVr->setValid(false);
         $lVr->getIdAdherentPrincipal()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getIdAdherentPrincipal()->addErreur($lErreur);
     }
     if (!isset($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 (!isset($pData['prenom'])) {
         $lVr->setValid(false);
         $lVr->getPrenom()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getPrenom()->addErreur($lErreur);
     }
     if (!isset($pData['dateNaissance'])) {
         $lVr->setValid(false);
         $lVr->getDateNaissance()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getDateNaissance()->addErreur($lErreur);
     }
     if (!isset($pData['commentaire'])) {
         $lVr->setValid(false);
         $lVr->getCommentaire()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getCommentaire()->addErreur($lErreur);
     }
     if (!isset($pData['courrielPrincipal'])) {
         $lVr->setValid(false);
         $lVr->getCourrielPrincipal()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getCourrielPrincipal()->addErreur($lErreur);
     }
     if (!isset($pData['courrielSecondaire'])) {
         $lVr->setValid(false);
         $lVr->getCourrielSecondaire()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getCourrielSecondaire()->addErreur($lErreur);
     }
     if (!isset($pData['telephonePrincipal'])) {
         $lVr->setValid(false);
         $lVr->getTelephonePrincipal()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getTelephonePrincipal()->addErreur($lErreur);
     }
     if (!isset($pData['telephoneSecondaire'])) {
         $lVr->setValid(false);
         $lVr->getTelephoneSecondaire()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getTelephoneSecondaire()->addErreur($lErreur);
     }
     if (!isset($pData['adresse'])) {
         $lVr->setValid(false);
         $lVr->getAdresse()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getAdresse()->addErreur($lErreur);
     }
     if (!isset($pData['codePostal'])) {
         $lVr->setValid(false);
         $lVr->getCodePostal()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getCodePostal()->addErreur($lErreur);
     }
     if (!isset($pData['ville'])) {
         $lVr->setValid(false);
         $lVr->getVille()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getVille()->addErreur($lErreur);
     }
     if ($lVr->getValid()) {
         //Tests Techniques
         if (!is_int((int) $pData['id_adherent'])) {
             $lVr->setValid(false);
             $lVr->getId_adherent()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_104_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_104_MSG);
             $lVr->getId_adherent()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['id_adherent'], 0, 11)) {
             $lVr->setValid(false);
             $lVr->getId_adherent()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getId_adherent()->addErreur($lErreur);
         }
         if (!is_int((int) $pData['idAdherentPrincipal'])) {
             $lVr->setValid(false);
             $lVr->getIdAdherentPrincipal()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_104_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_104_MSG);
             $lVr->getIdAdherentPrincipal()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['idAdherentPrincipal'], 0, 11)) {
             $lVr->setValid(false);
             $lVr->getIdAdherentPrincipal()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getIdAdherentPrincipal()->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['prenom'], 0, 50)) {
             $lVr->setValid(false);
             $lVr->getPrenom()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getPrenom()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['courrielPrincipal'], 0, 100)) {
             $lVr->setValid(false);
             $lVr->getCourrielPrincipal()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getCourrielPrincipal()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['courrielSecondaire'], 0, 100)) {
             $lVr->setValid(false);
             $lVr->getCourrielSecondaire()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getCourrielSecondaire()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['telephonePrincipal'], 0, 20)) {
             $lVr->setValid(false);
             $lVr->getTelephonePrincipal()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getTelephonePrincipal()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['telephoneSecondaire'], 0, 20)) {
             $lVr->setValid(false);
             $lVr->getTelephoneSecondaire()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getTelephoneSecondaire()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['adresse'], 0, 300)) {
             $lVr->setValid(false);
             $lVr->getAdresse()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getAdresse()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['codePostal'], 0, 10)) {
             $lVr->setValid(false);
             $lVr->getCodePostal()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getCodePostal()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['ville'], 0, 100)) {
             $lVr->setValid(false);
             $lVr->getVille()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getVille()->addErreur($lErreur);
         }
         if ($pData['dateNaissance'] != '' && !TestFonction::checkDate($pData['dateNaissance'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateNaissance()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_103_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_103_MSG);
             $lVr->getDateNaissance()->addErreur($lErreur);
         }
         if ($pData['dateNaissance'] != '' && !TestFonction::checkDateExist($pData['dateNaissance'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateNaissance()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_105_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_105_MSG);
             $lVr->getDateNaissance()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['commentaire'], 0, 500)) {
             $lVr->setValid(false);
             $lVr->getCommentaire()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getCommentaire()->addErreur($lErreur);
         }
         //Tests Fonctionnels
         if (empty($pData['id_adherent'])) {
             $lVr->setValid(false);
             $lVr->getId_adherent()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getId_adherent()->addErreur($lErreur);
         }
         if (empty($pData['idAdherentPrincipal'])) {
             $lVr->setValid(false);
             $lVr->getIdAdherentPrincipal()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getIdAdherentPrincipal()->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['prenom'])) {
             $lVr->setValid(false);
             $lVr->getPrenom()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getPrenom()->addErreur($lErreur);
         }
         $lAdherent = AdherentManager::select($pData['id_adherent']);
         if ($lAdherent->getId() != $pData['id_adherent']) {
             $lVr->setValid(false);
             $lVr->getId_adherent()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getId_adherent()->addErreur($lErreur);
         }
         $lAdherentPrincipal = AdherentManager::select($pData['idAdherentPrincipal']);
         if ($lAdherentPrincipal->getId() != $pData['idAdherentPrincipal']) {
             $lVr->setValid(false);
             $lVr->getIdAdherentPrincipal()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getIdAdherentPrincipal()->addErreur($lErreur);
         }
         if ($lAdherent->getIdCompte() != $lAdherentPrincipal->getIdCompte()) {
             $lVr->setValid(false);
             $lVr->getId_adherent()->setValid(false);
             $lVr->getIdAdherentPrincipal()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_268_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_268_MSG);
             $lVr->getId_adherent()->addErreur($lErreur);
             $lVr->getIdAdherentPrincipal()->addErreur($lErreur);
         }
         // Les mails sont au bon format
         if ($pData['courrielPrincipal'] != '' && !TestFonction::checkCourriel($pData['courrielPrincipal'])) {
             $lVr->setValid(false);
             $lVr->getCourrielPrincipal()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_224_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_224_MSG);
             $lVr->getCourrielPrincipal()->addErreur($lErreur);
         }
         if ($pData['courrielSecondaire'] != '' && !TestFonction::checkCourriel($pData['courrielSecondaire'])) {
             $lVr->setValid(false);
             $lVr->getCourrielSecondaire()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_224_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_224_MSG);
             $lVr->getCourrielSecondaire()->addErreur($lErreur);
         }
         $lDateAdhesion = $lAdherent->getDateAdhesion();
         if ($lAdherent->getDateAdhesion() == StringUtils::FORMAT_DATE_NULLE) {
             $lDateAdhesion = StringUtils::dateAujourdhuiDb();
         }
         // Date Naissance <= Date Adhésion <= Date Actuelle
         if ($pData['dateNaissance'] != '' && !TestFonction::dateEstPLusGrandeEgale($lDateAdhesion, $pData['dateNaissance'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateNaissance()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_225_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_225_MSG);
             $lVr->getDateNaissance()->addErreur($lErreur);
         }
         if ($pData['dateNaissance'] != '' && !TestFonction::dateEstPLusGrandeEgale(StringUtils::dateAujourdhuiDb(), $pData['dateNaissance'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateNaissance()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_230_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_230_MSG);
             $lVr->getDateNaissance()->addErreur($lErreur);
         }
     }
     return $lVr;
 }
 $lCompte = $lCompte[0];
 $lIdCompte = $lCompte->getId();
 $lSolde = $lCompte->getSolde();
 if (is_null($lIdCompte)) {
     // Création d'un nouveau compte, si il n'existe pas déjà
     $lCompte = new CompteVO();
     $lCompte->setLabel($lCompteLabel);
     $lSolde = str_replace(",", ".", $lCompteSolde);
     $lCompte->setSolde($lSolde);
     $lIdCompte = CompteManager::insert($lCompte);
     // Initialisation du compte si c'est un nouveau compte
     $lOperation = new OperationVO();
     $lOperation->setIdCompte($lIdCompte);
     $lOperation->setMontant($lSolde);
     $lOperation->setLibelle("Création du compte");
     $lOperation->setDate(StringUtils::dateAujourdhuiDb());
     //$lOperation->setType(1);
     $lOperation->setIdCommande(0);
     $lOperation->setTypePaiement(-1);
     OperationManager::insert($lOperation);
 }
 //L'adhérent
 $lAdherent = new AdherentVO();
 $lAdherent->setIdCompte($lIdCompte);
 $lAdherent->setNumero($lNumero);
 $lAdherent->setNom(StringUtils::formaterNom(trim($lNom)));
 $lAdherent->setPrenom(StringUtils::formaterPrenom(trim($lPrenom)));
 $lAdherent->setCourrielPrincipal(trim($lCourrielP));
 $lAdherent->setCourrielSecondaire(trim($lCourrielS));
 $lAdherent->setTelephonePrincipal(trim($lTelephoneP));
 $lAdherent->setTelephoneSecondaire(trim($lTelephoneS));
 /**
  * @name validAjout($pData)
  * @return AdherentVR
  * @desc Test la validite de l'élément
  */
 public static function validAjout($pData)
 {
     $lVr = new AdherentVR();
     //Tests inputs
     if (!isset($pData['numero'])) {
         $lVr->setValid(false);
         $lVr->getNumero()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getNumero()->addErreur($lErreur);
     }
     if (!isset($pData['idCompte'])) {
         $lVr->setValid(false);
         $lVr->getIdCompte()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getIdCompte()->addErreur($lErreur);
     }
     if (!isset($pData['compte'])) {
         $lVr->setValid(false);
         $lVr->getCompte()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getCompte()->addErreur($lErreur);
     }
     if (!isset($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 (!isset($pData['prenom'])) {
         $lVr->setValid(false);
         $lVr->getPrenom()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getPrenom()->addErreur($lErreur);
     }
     if (!isset($pData['courrielPrincipal'])) {
         $lVr->setValid(false);
         $lVr->getCourrielPrincipal()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getCourrielPrincipal()->addErreur($lErreur);
     }
     if (!isset($pData['courrielSecondaire'])) {
         $lVr->setValid(false);
         $lVr->getCourrielSecondaire()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getCourrielSecondaire()->addErreur($lErreur);
     }
     if (!isset($pData['telephonePrincipal'])) {
         $lVr->setValid(false);
         $lVr->getTelephonePrincipal()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getTelephonePrincipal()->addErreur($lErreur);
     }
     if (!isset($pData['telephoneSecondaire'])) {
         $lVr->setValid(false);
         $lVr->getTelephoneSecondaire()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getTelephoneSecondaire()->addErreur($lErreur);
     }
     if (!isset($pData['adresse'])) {
         $lVr->setValid(false);
         $lVr->getAdresse()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getAdresse()->addErreur($lErreur);
     }
     if (!isset($pData['codePostal'])) {
         $lVr->setValid(false);
         $lVr->getCodePostal()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getCodePostal()->addErreur($lErreur);
     }
     if (!isset($pData['ville'])) {
         $lVr->setValid(false);
         $lVr->getVille()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getVille()->addErreur($lErreur);
     }
     if (!isset($pData['dateNaissance'])) {
         $lVr->setValid(false);
         $lVr->getDateNaissance()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getDateNaissance()->addErreur($lErreur);
     }
     if (!isset($pData['dateAdhesion'])) {
         $lVr->setValid(false);
         $lVr->getDateAdhesion()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getDateAdhesion()->addErreur($lErreur);
     }
     if (!isset($pData['commentaire'])) {
         $lVr->setValid(false);
         $lVr->getCommentaire()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getCommentaire()->addErreur($lErreur);
     }
     if (!isset($pData['modules'])) {
         $lVr->setValid(false);
         $lVr->getModules()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getModules()->addErreur($lErreur);
     }
     if ($lVr->getValid()) {
         //Tests Techniques
         if (!TestFonction::checkLength($pData['numero'], 0, 5)) {
             $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['idCompte'], 0, 11)) {
             $lVr->setValid(false);
             $lVr->getIdCompte()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getIdCompte()->addErreur($lErreur);
         }
         if (!is_int((int) $pData['idCompte'])) {
             $lVr->setValid(false);
             $lVr->getIdCompte()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_104_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_104_MSG);
             $lVr->getIdCompte()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['compte'], 0, 30)) {
             $lVr->setValid(false);
             $lVr->getCompte()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getCompte()->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['prenom'], 0, 50)) {
             $lVr->setValid(false);
             $lVr->getPrenom()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getPrenom()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['courrielPrincipal'], 0, 100)) {
             $lVr->setValid(false);
             $lVr->getCourrielPrincipal()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getCourrielPrincipal()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['courrielSecondaire'], 0, 100)) {
             $lVr->setValid(false);
             $lVr->getCourrielSecondaire()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getCourrielSecondaire()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['telephonePrincipal'], 0, 20)) {
             $lVr->setValid(false);
             $lVr->getTelephonePrincipal()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getTelephonePrincipal()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['telephoneSecondaire'], 0, 20)) {
             $lVr->setValid(false);
             $lVr->getTelephoneSecondaire()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getTelephoneSecondaire()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['adresse'], 0, 300)) {
             $lVr->setValid(false);
             $lVr->getAdresse()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getAdresse()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['codePostal'], 0, 10)) {
             $lVr->setValid(false);
             $lVr->getCodePostal()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getCodePostal()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['ville'], 0, 100)) {
             $lVr->setValid(false);
             $lVr->getVille()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getVille()->addErreur($lErreur);
         }
         if ($pData['dateNaissance'] != '' && !TestFonction::checkDate($pData['dateNaissance'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateNaissance()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_103_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_103_MSG);
             $lVr->getDateNaissance()->addErreur($lErreur);
         }
         if ($pData['dateNaissance'] != '' && !TestFonction::checkDateExist($pData['dateNaissance'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateNaissance()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_105_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_105_MSG);
             $lVr->getDateNaissance()->addErreur($lErreur);
         }
         if (!TestFonction::checkDate($pData['dateAdhesion'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateAdhesion()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_103_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_103_MSG);
             $lVr->getDateAdhesion()->addErreur($lErreur);
         }
         if (!TestFonction::checkDateExist($pData['dateAdhesion'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateAdhesion()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_105_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_105_MSG);
             $lVr->getDateAdhesion()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['commentaire'], 0, 500)) {
             $lVr->setValid(false);
             $lVr->getCommentaire()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getCommentaire()->addErreur($lErreur);
         }
         if (!is_array($pData['modules'])) {
             $lVr->setValid(false);
             $lVr->getModules()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_115_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_115_MSG);
             $lVr->getModules()->addErreur($lErreur);
         }
         //Tests Fonctionnels
         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['prenom'])) {
             $lVr->setValid(false);
             $lVr->getPrenom()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getPrenom()->addErreur($lErreur);
         }
         if (empty($pData['dateAdhesion'])) {
             $lVr->setValid(false);
             $lVr->getDateAdhesion()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getDateAdhesion()->addErreur($lErreur);
         }
         // Le compte existe
         if (!empty($pData['idCompte'])) {
             $lCompte = CompteManager::select($pData['idCompte']);
             if ($lCompte->getId() == $pData['idCompte']) {
                 // Le Compte est un compte adhérent
                 $lAdherent = AdherentManager::selectByIdCompte($lCompte->getId());
                 if (is_null($lCompte->getId()) || is_null($lAdherent[0]->getIdCompte())) {
                     $lVr->setValid(false);
                     $lVr->getCompte()->setValid(false);
                     $lErreur = new VRerreur();
                     $lErreur->setCode(MessagesErreurs::ERR_227_CODE);
                     $lErreur->setMessage(MessagesErreurs::ERR_227_MSG);
                     $lVr->getCompte()->addErreur($lErreur);
                 }
             } else {
                 $lVr->setValid(false);
                 $lVr->getCompte()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_228_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_228_MSG);
                 $lVr->getCompte()->addErreur($lErreur);
             }
         }
         // Les mails sont au bon format
         if ($pData['courrielPrincipal'] != '' && !TestFonction::checkCourriel($pData['courrielPrincipal'])) {
             $lVr->setValid(false);
             $lVr->getCourrielPrincipal()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_224_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_224_MSG);
             $lVr->getCourrielPrincipal()->addErreur($lErreur);
         }
         if ($pData['courrielSecondaire'] != '' && !TestFonction::checkCourriel($pData['courrielSecondaire'])) {
             $lVr->setValid(false);
             $lVr->getCourrielSecondaire()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_224_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_224_MSG);
             $lVr->getCourrielSecondaire()->addErreur($lErreur);
         }
         // Date Naissance <= Date Adhésion <= Date Actuelle
         if (!TestFonction::dateEstPLusGrandeEgale(StringUtils::dateAujourdhuiDb(), $pData['dateAdhesion'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateAdhesion()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_230_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_230_MSG);
             $lVr->getDateAdhesion()->addErreur($lErreur);
         }
         if ($pData['dateNaissance'] != '' && !TestFonction::dateEstPLusGrandeEgale($pData['dateAdhesion'], $pData['dateNaissance'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateNaissance()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_225_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_225_MSG);
             $lVr->getDateNaissance()->addErreur($lErreur);
         }
         if ($pData['dateNaissance'] != '' && !TestFonction::dateEstPLusGrandeEgale(StringUtils::dateAujourdhuiDb(), $pData['dateNaissance'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateNaissance()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_230_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_230_MSG);
             $lVr->getDateNaissance()->addErreur($lErreur);
         }
     }
     return $lVr;
 }
 /**
  * @name validSuspendre($pData)
  * @return ListeAbonneVR
  * @desc Test la validite de l'élément
  */
 public static function validSuspendre($pData)
 {
     $lVr = new ListeAbonneVR();
     //Tests inputs
     if (!isset($pData['idCompte'])) {
         $lVr->setValid(false);
         $lVr->getIdCompte()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getIdCompte()->addErreur($lErreur);
     }
     if (!isset($pData['dateDebutSuspension'])) {
         $lVr->setValid(false);
         $lVr->getDateDebutSuspension()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getDateDebutSuspension()->addErreur($lErreur);
     }
     if (!isset($pData['dateFinSuspension'])) {
         $lVr->setValid(false);
         $lVr->getDateFinSuspension()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getDateFinSuspension()->addErreur($lErreur);
     }
     if ($lVr->getValid()) {
         if (!TestFonction::checkLength($pData['idCompte'], 0, 11)) {
             $lVr->setValid(false);
             $lVr->getIdCompte()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getIdCompte()->addErreur($lErreur);
         }
         if (!is_int((int) $pData['idCompte'])) {
             $lVr->setValid(false);
             $lVr->getIdCompte()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
             $lVr->getIdCompte()->addErreur($lErreur);
         }
         if (!TestFonction::checkDate($pData['dateDebutSuspension'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateDebutSuspension()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_103_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_103_MSG);
             $lVr->getDateDebutSuspension()->addErreur($lErreur);
         }
         if (!TestFonction::checkDateExist($pData['dateDebutSuspension'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateDebutSuspension()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_105_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_105_MSG);
             $lVr->getDateDebutSuspension()->addErreur($lErreur);
         }
         if (!TestFonction::checkDate($pData['dateFinSuspension'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateFinSuspension()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_103_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_103_MSG);
             $lVr->getDateFinSuspension()->addErreur($lErreur);
         }
         if (!TestFonction::checkDateExist($pData['dateFinSuspension'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateFinSuspension()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_105_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_105_MSG);
             $lVr->getDateFinSuspension()->addErreur($lErreur);
         }
         //Tests Fonctionnels
         if (empty($pData['idCompte'])) {
             $lVr->setValid(false);
             $lVr->getIdCompte()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getIdCompte()->addErreur($lErreur);
         }
         if (empty($pData['dateDebutSuspension'])) {
             $lVr->setValid(false);
             $lVr->getDateDebutSuspension()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getDateDebutSuspension()->addErreur($lErreur);
         }
         if (empty($pData['dateFinSuspension'])) {
             $lVr->setValid(false);
             $lVr->getDateFinSuspension()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getDateFinSuspension()->addErreur($lErreur);
         }
         $lCompteService = new CompteService();
         if (!$lCompteService->existe($pData['idCompte'])) {
             $lVr->setValid(false);
             $lVr->getIdCompte()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getIdCompte()->addErreur($lErreur);
         }
         if (!TestFonction::dateEstPLusGrandeEgale($pData['dateFinSuspension'], $pData['dateDebutSuspension'], 'db')) {
             $lVr->setValid(false);
             $lVr->getDateDebutSuspension()->setValid(false);
             $lVr->getDateFinSuspension()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_209_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_230_MSG);
             $lVr->getDateDebutSuspension()->addErreur($lErreur);
             $lVr->getDateFinSuspension()->addErreur($lErreur);
         }
         if (!TestFonction::dateEstPLusGrandeEgale($pData['dateFinSuspension'], StringUtils::dateAujourdhuiDb(), 'db')) {
             $lVr->setValid(false);
             $lVr->getDateFinSuspension()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_209_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_209_MSG);
             $lVr->getDateFinSuspension()->addErreur($lErreur);
         }
     }
     return $lVr;
 }