Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
71.43% |
5 / 7 |
CRAP | |
97.56% |
80 / 82 |
PatientRepo | |
0.00% |
0 / 1 |
|
71.43% |
5 / 7 |
46 | |
97.56% |
80 / 82 |
getById | |
100.00% |
1 / 1 |
2 | |
100.00% |
4 / 4 |
|||
add | |
0.00% |
0 / 1 |
16 | |
96.77% |
30 / 31 |
|||
update | |
0.00% |
0 / 1 |
16 | |
96.77% |
30 / 31 |
|||
delete | |
100.00% |
1 / 1 |
2 | |
100.00% |
3 / 3 |
|||
updateMedecinTraitant | |
100.00% |
1 / 1 |
3 | |
100.00% |
3 / 3 |
|||
search | |
100.00% |
1 / 1 |
6 | |
100.00% |
8 / 8 |
|||
getAll | |
100.00% |
1 / 1 |
1 | |
100.00% |
2 / 2 |
<?php | |
/** | |
* Created by PhpStorm. | |
* User: seekdasky | |
* Date: 02/12/15 | |
* Time: 12:36 | |
*/ | |
class PatientRepo | |
{ | |
public static function getById($id){ | |
if(!StaticRepo::checkParam($id,'Integer')){return false;} | |
$req = StaticRepo::getConnexion()->prepare('SELECT * FROM Patient WHERE Id = :id'); | |
$req->execute(['id' => $id]); | |
return StaticRepo::delNumeric( $req->fetch(), true ); | |
} | |
public static function add($civilite,$prenom,$nom,$adresse,$adresse2,$ville,$codePostal,$dateNaissance,$lieuNaissance,$numSecu,$medecinTraitant = null){ | |
$correctTypes = StaticRepo::checkParam($civilite,'Civilite'); | |
$correctTypes = $correctTypes && StaticRepo::checkParam($prenom,'String45'); | |
$correctTypes = $correctTypes && StaticRepo::checkParam($nom,'String45'); | |
$correctTypes = $correctTypes && StaticRepo::checkParam($adresse,'String255'); | |
$correctTypes = $correctTypes && ( $adresse2 == 'null' || $adresse2 === null || StaticRepo::checkParam($adresse2, 'String255') ); | |
$correctTypes = $correctTypes && StaticRepo::checkParam($ville,'String50'); | |
$correctTypes = $correctTypes && StaticRepo::checkParam($codePostal,'String'); | |
$correctTypes = $correctTypes && StaticRepo::checkParam($dateNaissance,'Date'); | |
$correctTypes = $correctTypes && StaticRepo::checkParam($lieuNaissance,'String50'); | |
$correctTypes = $correctTypes && ( $medecinTraitant == 'null' || StaticRepo::checkParam($medecinTraitant, 'Numeric')); | |
if( !$correctTypes ) return false; | |
$dateNaissance = strtotime($dateNaissance); | |
$dateNaissance = Date('o-m-d', $dateNaissance); | |
$req = StaticRepo::getConnexion()->prepare("INSERT INTO Patient | |
VALUES(DEFAULT, | |
:civilite, | |
:nom, | |
:prenom, | |
:adresse, | |
:adresse2, | |
:ville, | |
:codePostal, | |
:dateNaissance, | |
:lieuNaissance, | |
:numSecu, | |
:medecin | |
)"); | |
$result = $req->execute([ | |
'civilite' => $civilite, | |
'nom' => $nom, | |
'prenom' => $prenom, | |
'adresse' => $adresse, | |
'adresse2' => (strlen($adresse2)>0) ? $adresse2 : NULL, | |
'ville' => $ville, | |
'codePostal' => $codePostal, | |
'dateNaissance' => $dateNaissance, | |
'lieuNaissance' => $lieuNaissance, | |
'numSecu' => $numSecu, | |
'medecin' => $medecinTraitant | |
]); | |
//PDO renvoie un ID sous forme de char, on transtype | |
$id = StaticRepo::getConnexion()->lastInsertId(); | |
settype($id,'integer'); | |
if($result)return $id; | |
else return false; | |
} | |
public static function update($id,$civilite,$prenom,$nom,$adresse,$adresse2,$ville,$codePostal,$dateNaissance,$lieuNaissance,$numSecu,$medecinTraitant){ | |
$correctTypes = StaticRepo::checkParam($civilite,'Civilite'); | |
$correctTypes = $correctTypes && StaticRepo::checkParam($prenom,'String45'); | |
$correctTypes = $correctTypes && StaticRepo::checkParam($nom,'String45'); | |
$correctTypes = $correctTypes && StaticRepo::checkParam($adresse,'String255'); | |
$correctTypes = $correctTypes && ( $adresse2 == 'null' || $adresse2 === null || StaticRepo::checkParam($adresse2, 'String255') ); | |
$correctTypes = $correctTypes && StaticRepo::checkParam($ville,'String50'); | |
$correctTypes = $correctTypes && StaticRepo::checkParam($codePostal,'String'); | |
$correctTypes = $correctTypes && StaticRepo::checkParam($dateNaissance,'Date'); | |
$correctTypes = $correctTypes && StaticRepo::checkParam($lieuNaissance,'String50'); | |
$correctTypes = $correctTypes && ( $medecinTraitant == 'null' || $medecinTraitant === null ||StaticRepo::checkParam($medecinTraitant, 'Integer') ); | |
if( !$correctTypes ) return false; | |
$dateNaissance = strtotime($dateNaissance); | |
$dateNaissance = Date('o-m-d',$dateNaissance); | |
$req = StaticRepo::getConnexion()->prepare('UPDATE Patient SET Civilite=:civilite,Nom=:nom,Prenom=:prenom,Adresse=:adresse,Adresse2=:adresse2,Ville=:ville, | |
CodePostal=:codePostal,DateNaissance=:dateNaissance,LieuNaissance=:lieuNaissance,NumSecuriteSociale=:numSecu,MedecinTraitant=:medecin WHERE Id=:id;'); | |
$result = $req->execute(['civilite' => $civilite, | |
'nom' => $nom, | |
'prenom' => $prenom, | |
'adresse' => $adresse, | |
'adresse2' => $adresse2, | |
'ville' => $ville, | |
'codePostal' => $codePostal, | |
'dateNaissance' => $dateNaissance, | |
'lieuNaissance' => $lieuNaissance, | |
'numSecu' => $numSecu, | |
'medecin' => $medecinTraitant, | |
'id' => $id]); | |
//PDO renvoie un ID sous forme de char, on transtype | |
$id = StaticRepo::getConnexion()->lastInsertId(); | |
settype($id,'integer'); | |
if($result){return $id;} | |
else{return false;} | |
} | |
public static function delete($idPatient){ | |
// si format erroné, retourne FALSE | |
if( !StaticRepo::checkParam($idPatient, 'Numeric') ) return false; | |
$req = StaticRepo::getConnexion()->prepare('DELETE FROM Patient WHERE Patient.Id = :id'); | |
return $req->execute([':id' => $idPatient]); | |
} | |
public static function updateMedecinTraitant($idPatient,$idMedecin){ | |
if(!StaticRepo::checkParam($idPatient,'Integer') && !StaticRepo::checkParam($idMedecin,'Integer')){return false;} | |
$req = StaticRepo::getConnexion()->prepare('UPDATE Patient SET MedecinTraitant = :medecin WHERE Id = :id'); | |
return $req->execute(['medecin' => $idMedecin, 'id' => $idPatient]); | |
} | |
public static function search($nom, $prenom){ | |
if( !StaticRepo::checkParam($prenom,'String45') | !StaticRepo::checkParam($nom,'String45') ) return false; | |
// on définit les valeurs (peuvent être nulles) | |
$optPrenom = ( $prenom != 'null' && StaticRepo::checkParam($prenom,'String45') ) ? '%'.$prenom.'%' : '%'; | |
$optNom = ( $nom != 'null' && StaticRepo::checkParam($nom, 'String45') ) ? '%'.$nom.'%' : '%'; | |
$req = StaticRepo::getConnexion()->query("SELECT Id, Civilite, Nom, Prenom, DATE_FORMAT(DateNaissance, '%d/%m/%Y') as DateNaissance, NumSecuriteSociale | |
FROM Patient | |
WHERE Nom LIKE '".$optNom."' | |
AND Prenom LIKE '".$optPrenom."' | |
ORDER BY Nom, Prenom ASC"); | |
return StaticRepo::delNumeric( $req->fetchAll() ); | |
} | |
public static function getAll(){ | |
$req = StaticRepo::getConnexion()->query('SELECT * FROM Patient ORDER BY nom, prenom ASC'); | |
return StaticRepo::delNumeric( $req->fetchAll() ); | |
} | |
} |