/**
  * @name supprimerAdherent($pParam)
  * @desc Passe l'adhérent en état supprimé
  */
 public function supprimerAdherent($pParam)
 {
     $lVr = AdherentValid::validDelete($pParam);
     if ($lVr->getValid()) {
         $lIdAdherent = $pParam['id'];
         $lAdherentService = new AdherentService();
         $lAdherentService->delete($lIdAdherent);
         // Gestion du compte
         $lCompteService = new CompteService();
         $lData = $lVr->getData();
         $lIdAncienCompte = $lData['adherent']->getAdhIdCompte();
         $lAdherentAncienCompte = $lCompteService->getAdherentCompte($lIdAncienCompte);
         // RAZ de l'adhérent principal
         $lIdAdherentPrincipalAncienCompte = 0;
         // Ou positionnement du nouvel
         if (!is_null($lAdherentAncienCompte[0]->getId()) && $pParam['idAdherentPrincipal'] != -1) {
             $lIdAdherentPrincipalAncienCompte = $pParam['idAdherentPrincipal'];
         }
         // Maj de l'ancien compte
         $lAncienCompte = $lCompteService->get($lIdAncienCompte);
         $lAncienCompte->setIdAdherentPrincipal($lIdAdherentPrincipalAncienCompte);
         $lCompteService->set($lAncienCompte);
         $lResponse = new AjoutAdherentResponse();
         $lResponse->setId($lIdAdherent);
         return $lResponse;
     }
     return $lVr;
 }
Ejemplo n.º 2
0
 /**
  * @name validUpdate($pData)
  * @return AdherentVR
  * @desc Test la validite de l'élément
  */
 public static function validUpdate($pData)
 {
     $lVr = AdherentValid::validDelete($pData);
     if ($lVr->getValid()) {
         $lData = $lVr->getData();
         $lVr = AdherentValid::validAjout($pData);
         $lVr->setData($lData);
         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 ($lVr->getValid()) {
             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 (!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);
             }
             //Tests Fonctionnels
             // Ce doit être des adhérents
             if (!empty($pData['idAdherentPrincipal'])) {
                 $lAdherent = AdherentViewManager::select($pData['idAdherentPrincipal']);
                 if ($lAdherent->getAdhId() != $pData['idAdherentPrincipal']) {
                     $lVr->setValid(false);
                     $lVr->getIdAdherentPrincipal()->setValid(false);
                     $lErreur = new VRerreur();
                     $lErreur->setCode(MessagesErreurs::ERR_216_CODE);
                     $lErreur->setMessage(MessagesErreurs::ERR_216_MSG);
                     $lVr->getIdAdherentPrincipal()->addErreur($lErreur);
                 }
             }
             // Si liaison vers un autre compte il faut le nouvel adhérent principal sur l'ancien compte.
             // Sauf si c'était le dernier adhérent du compte (dans ce cas -1)
             if ($pData['idAdherentPrincipal'] != $pData['idAncienAdherentPrincipal'] && empty($pData['idAncienAdherentPrincipal']) && $pData['idAncienAdherentPrincipal'] != -1) {
                 $lVr->setValid(false);
                 $lVr->getIdAncienAdherentPrincipal()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
                 $lVr->getIdAncienAdherentPrincipal()->addErreur($lErreur);
             }
         }
     }
     return $lVr;
 }