projet-php/repositories/repos/RDVRepo.php

79 lines
2.9 KiB
PHP
Executable File

<?php
/**
* Created by PhpStorm.
* User: seekdasky
* Date: 02/12/15
* Time: 12:36
*/
class RDVRepo
{
public static function getById($id){
$req = StaticRepo::getConnexion()->prepare('SELECT * FROM RDV WHERE RDV.id = :id');
$req->execute(['id' => $id]);
return StaticRepo::delNumeric( $req->fetch(), true );
}
public static function getByDate($date){
$date = date('Y-m-d',strtotime($date));
$req = StaticRepo::getConnexion()->prepare('SELECT * FROM RDV WHERE DATE(DateRDV) = :date ORDER BY DateRDV ASC');
$req->execute(['date' => $date]);
return StaticRepo::delNumeric($req->fetchAll());
}
public static function delete($idRDV){
$req = StaticRepo::getConnexion()->prepare('DELETE FROM RDV WHERE RDV.id = :id');
return $req->execute(['id' => $idRDV]);
}
public static function add($date,$duree,$idPatient,$idMedecin){
$date = date('Y-m-d H:i:s',strtotime($date));
$duree = date('H:i:s',$duree*60);
$req = StaticRepo::getConnexion()->prepare('INSERT INTO RDV VALUES (DEFAULT,:date,:duree,:patient,:medecin)');
$result = $req->execute(['date' => $date,
'duree' => $duree,
'patient' => $idPatient,
'medecin' => $idMedecin]);
if($result != false){return StaticRepo::getConnexion()->lastInsertId();}
else{return false;}
}
public static function updateDateTime($idRDV,$dateTime){
$date = date('Y-m-d H:i:s',strtotime($dateTime));
$req = StaticRepo::getConnexion()->prepare('UPDATE RDV SET DateRDV = :date WHERE id = :id');
return $req->execute(['date' => $date,
'id' => $idRDV]);
}
public static function getByPatientAndDate($idPatient,$date){
$date = date('Y-m-d',strtotime($date));
$req = StaticRepo::getConnexion()->prepare('SELECT * FROM RDV WHERE Patient_Id=:patient AND DATE(DateRDV)=:date');
$req->execute(['patient' => $idPatient,
'date' => $date]);
return StaticRepo::delNumeric($req->fetchAll());
}
public static function getAll($date = 0){
$dateTime = date('Y-m-d',time());
switch($date){
case -1:
$req = StaticRepo::getConnexion()->prepare('SELECT * FROM RDV WHERE DATE(DateRDV) <= :date ORDER BY DateRDV ASC');
$req->execute(['date' => $dateTime]);
break;
case 0:
$req = StaticRepo::getConnexion()->prepare('SELECT * FROM RDV ORDER BY DateRDV ASC');
$req->execute();
break;
case 1:
$req = StaticRepo::getConnexion()->prepare('SELECT * FROM RDV WHERE DATE(DateRDV) >= :date ORDER BY DateRDV ASC');
$req->execute(['date' => $dateTime]);
break;
}
return StaticRepo::delNumeric($req->fetchAll());
}
}