public function deleteByPerNum($per_num) { $voteManager = new VoteManager($this->db); $citationManager = new CitationManager($this->db); $personneManager = new PersonneManager($this->db); $listeVoteDeLaPersonne = $voteManager->getVoteByPerNum($per_num); if ($personneManager->isEtudiant($per_num)) { $listeCitationDeLaPersonne = $citationManager->getCitationToDeleteForStudent($per_num); if (isset($listeCitationDeLaPersonne)) { foreach ($listeCitationDeLaPersonne as $citation) { $voteManager->deleteVoteByCitNum($citation->getCitationNum()); $citationManager->deleteCitationByCitNum($citation->getCitationNum()); } } } else { $listeCitationDeLaPersonne = $citationManager->getCitationToDeleteForProf($per_num); if (isset($listeCitationDeLaPersonne)) { foreach ($listeCitationDeLaPersonne as $citation) { $voteManager->deleteVoteByCitNum($citation->getCitationNum()); $citationManager->deleteCitationByCitNum($citation->getCitationNum()); } } } if (isset($listeVoteDeLaPersonne)) { foreach ($listeVoteDeLaPersonne as $vote) { $voteManager->deleteVoteByPerNum($vote->getPerNum()); } } if (isset($listeCitationDeLaPersonne)) { foreach ($listeCitationDeLaPersonne as $citation) { $citationManager->deleteCitationByCitNum($citation->getCitationNum()); } } if ($personneManager->isEtudiant($per_num)) { $etudiantManager = new EtudiantManager($this->db); $retour = $etudiantManager->delete($per_num); } else { $salarieManager = new SalarieManager($this->db); $retour = $salarieManager->delete($per_num); } $sql = "DELETE FROM personne WHERE per_num=:per_num;"; $requete = $this->db->prepare($sql); $requete->bindValue(':per_num', $per_num); $retour = $requete->execute(); return $retour; }
public function deleteForChange($per_num) { $voteManager = new VoteManager($this->db); $citationManager = new CitationManager($this->db); $citationToDelete = $citationManager->getCitationToDeleteForStudent($per_num); if (isset($citationToDelete)) { foreach ($citationToDelete as $citation) { $voteManager->deleteVoteByCitNum($citation->getCitationPerNum()); $citationManager->deleteCitationByCitNum($citation->getCitationPerNum()); } } $citationManager->deleteByPerNum($per_num); $sql = "DELETE FROM vote WHERE per_num=:per_num; DELETE FROM citation WHERE per_num_etu=:per_num; DELETE FROM etudiant WHERE per_num=:per_num"; $requete = $this->db->prepare($sql); $requete->bindValue(":per_num", $per_num); $retour = $requete->execute(); }