/**
  * @name validUpdate($pData)
  * @return AdhesionVR
  * @desc Test la validite de l'élément
  */
 public static function validUpdate($pData)
 {
     $lVr = AdhesionAdherentValid::validDelete($pData);
     if ($lVr->getValid()) {
         //Tests inputs
         if (!isset($pData['idAdherent'])) {
             $lVr->setValid(false);
             $lVr->getIdAdherent()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getIdAdherent()->addErreur($lErreur);
         }
         if (!isset($pData['idTypeAdhesion'])) {
             $lVr->setValid(false);
             $lVr->getIdTypeAdhesion()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getIdTypeAdhesion()->addErreur($lErreur);
         }
         if (!isset($pData['statutFormulaire'])) {
             $lVr->setValid(false);
             $lVr->getStatutFormulaire()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getStatutFormulaire()->addErreur($lErreur);
         }
         if (!isset($pData['idOperation'])) {
             $lVr->setValid(false);
             $lVr->getIdOperation()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getIdOperation()->addErreur($lErreur);
         }
         if ($lVr->getValid()) {
             //Tests Techniques
             if (!TestFonction::checkLength($pData['idAdherent'], 0, 11)) {
                 $lVr->setValid(false);
                 $lVr->getIdAdherent()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
                 $lVr->getIdAdherent()->addErreur($lErreur);
             }
             if (!is_int((int) $pData['idAdherent'])) {
                 $lVr->setValid(false);
                 $lVr->getIdAdherent()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_104_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_104_MSG);
                 $lVr->getIdAdherent()->addErreur($lErreur);
             }
             if (!TestFonction::checkLength($pData['idTypeAdhesion'], 0, 11)) {
                 $lVr->setValid(false);
                 $lVr->getIdTypeAdhesion()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
                 $lVr->getIdTypeAdhesion()->addErreur($lErreur);
             }
             if (!is_int((int) $pData['idTypeAdhesion'])) {
                 $lVr->setValid(false);
                 $lVr->getIdTypeAdhesion()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_104_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_104_MSG);
                 $lVr->getIdTypeAdhesion()->addErreur($lErreur);
             }
             if (!TestFonction::checkLength($pData['statutFormulaire'], 0, 1)) {
                 $lVr->setValid(false);
                 $lVr->getStatutFormulaire()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
                 $lVr->getStatutFormulaire()->addErreur($lErreur);
             }
             if (!is_int((int) $pData['idOperation'])) {
                 $lVr->setValid(false);
                 $lVr->getIdOperation()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_104_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_104_MSG);
                 $lVr->getIdOperation()->addErreur($lErreur);
             }
             if (!TestFonction::checkLength($pData['idOperation'], 0, 11)) {
                 $lVr->setValid(false);
                 $lVr->getIdOperation()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
                 $lVr->getIdOperation()->addErreur($lErreur);
             }
             //Tests Fonctionnels
             if (empty($pData['idAdherent'])) {
                 $lVr->setValid(false);
                 $lVr->getIdAdherent()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
                 $lVr->getIdAdherent()->addErreur($lErreur);
             }
             if (empty($pData['idTypeAdhesion'])) {
                 $lVr->setValid(false);
                 $lVr->getIdTypeAdhesion()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
                 $lVr->getIdTypeAdhesion()->addErreur($lErreur);
             }
             if (empty($pData['idOperation'])) {
                 $lVr->setValid(false);
                 $lVr->getIdOperation()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
                 $lVr->getIdOperation()->addErreur($lErreur);
             }
             // Vérifie si l'adhérent existe
             $lAdherentService = new AdherentService();
             if (!$lAdherentService->estActif($pData['idAdherent'])) {
                 $lVr->setValid(false);
                 $lVr->getIdAdherent()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_216_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_216_MSG);
                 $lVr->getIdAdherent()->addErreur($lErreur);
             }
             // Le type adhésion doit exister et être actif
             $lAdhesionService = new AdhesionService();
             $lTypeAdhesion = $lAdhesionService->getTypeAdhesion($pData['idTypeAdhesion']);
             if ($lTypeAdhesion->getEtat() != 0) {
                 $lVr->setValid(false);
                 $lVr->getIdTypeAdhesion()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_216_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_216_MSG);
                 $lVr->getIdTypeAdhesion()->addErreur($lErreur);
             }
         }
     }
     return $lVr;
 }
 /**
  * @name validDelete($pData)
  * @return AdhesionAdherentDetailVR
  * @desc Test la validite de l'élément
  */
 public static function validDelete($pData)
 {
     $lVr = new AdhesionAdherentDetailVR();
     //Tests inputs
     if (!isset($pData['adhesionAdherent'])) {
         $lVr->setValid(false);
         $lVr->getAdhesionAdherent()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getAdhesionAdherent()->addErreur($lErreur);
     }
     if ($lVr->getValid()) {
         //Tests Fonctionnels
         if (empty($pData['adhesionAdherent'])) {
             $lVr->setValid(false);
             $lVr->getAdhesionAdherent()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getAdhesionAdherent()->addErreur($lErreur);
         } else {
             $lAdhesionAdherent = AdhesionAdherentValid::validDelete($pData['adhesionAdherent']);
             $lVr->setAdhesionAdherent($lAdhesionAdherent);
             $lVr->setValid($lAdhesionAdherent->getValid());
         }
     }
     return $lVr;
 }
 /**
  * @name getInfoModificationAdhesionAdherent($pParam)
  * @return InfoModificationAdhesionAdherentResponse
  * @desc Retourne les informations sur l'adhésion d'un adhérent à une adhésion
  */
 public function getInfoModificationAdhesionAdherent($pParam)
 {
     $lVr = AdhesionAdherentValid::validDelete($pParam);
     if ($lVr->getValid()) {
         $lAdhesionService = new AdhesionService();
         $lTypePaiementService = new TypePaiementService();
         $lBanqueService = new BanqueService();
         $lAdhesionAdherent = $lAdhesionService->getAdhesionAdherent($pParam['id']);
         $lAdhesion = $lAdhesionAdherent->getAdhesionDetail();
         $lPerimetre = $lAdhesionService->getTypeAdhesion($lAdhesionAdherent->getAdhesionAdherent()->getIdTypeAdhesion())->getIdPerimetre();
         if ($lPerimetre == 1) {
             // Si seul adhérent sur le compte ne propose pas les adhésions sur périmètre adhérent
             $lFiltrePerimetre = 1;
         } else {
             // Si plusieurs adhérents uniquement les types adhésion compte
             $lFiltrePerimetre = 2;
         }
         $lTypes = array();
         foreach ($lAdhesion->getTypes() as $i => $lType) {
             if ($lType->getPerId() == $lFiltrePerimetre) {
                 array_push($lTypes, $lType);
             }
         }
         $lAdhesion->setTypes($lTypes);
         return new InfoAjoutAdhesionAdherentResponse($lAdhesion, $lTypePaiementService->selectVisible(), $lBanqueService->getAllActif(), $lAdhesionAdherent);
     }
     return $lVr;
 }