/** * @name ajoutAdherent($pAdherent) * @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 ajoutAdherent($pAdherent) { $lVr = AdherentValid::validAjout($pAdherent); if ($lVr->getValid()) { $lAdherent = AdherentToVO::convertFromArray($pAdherent); $lAdherentService = new AdherentService(); $lAdherent = $lAdherentService->set($lAdherent); $lResponse = new AjoutAdherentResponse(); $lResponse->setId($lAdherent->getId()); return $lResponse; } return $lVr; }
/** * @name modifierAdherent($pParam) * @desc Met à jour les informations de l'adherent ainsi que ses autorisations */ public function modifierAdherent($pParam) { $lVr = AdherentValid::validUpdate($pParam); if ($lVr->getValid()) { // Conversion en objet $lAdherent = AdherentToVO::convertFromArray($pParam); // Maj de l'adhérent $lAdherentService = new AdherentService(); $lAdherentService->set($lAdherent); $lIdNouveauCompte = $lAdherent->getIdcompte(); $lData = $lVr->getData(); $lIdAncienCompte = $lData['adherent']->getAdhIdCompte(); // Gestion du compte $lCompteService = new CompteService(); if ($lIdAncienCompte != $lIdNouveauCompte) { // Liaison avec un autre compte gestion du précédent compte $lAdherentAncienCompte = $lCompteService->getAdherentCompte($lIdAncienCompte); // RAZ de l'adhérent principal $lIdAdherentPrincipalAncienCompte = 0; // Ou positionnement du nouvel if (!is_null($lAdherentAncienCompte[0]->getId()) && $pParam['idAncienAdherentPrincipal'] != -1) { $lIdAdherentPrincipalAncienCompte = $pParam['idAncienAdherentPrincipal']; } // Maj de l'ancien compte $lAncienCompte = $lCompteService->get($lIdAncienCompte); $lAncienCompte->setIdAdherentPrincipal($lIdAdherentPrincipalAncienCompte); $lCompteService->set($lAncienCompte); } // Mise à jour du compte $lNouveauCompte = $lCompteService->get($lIdNouveauCompte); if ($pParam['idAdherentPrincipal'] > 0) { // Uniquement si il y a un adhérent pincipal $lNouveauCompte->setIdAdherentPrincipal($pParam['idAdherentPrincipal']); } $lCompteService->set($lNouveauCompte); $lResponse = new AjoutAdherentResponse(); $lResponse->setId($lAdherent->getId()); return $lResponse; } return $lVr; }