Merge branch 'merged_PLE' of https://codefirst.iut.uca.fr/git/HeartDev/Web into merged_PLE

merged_PLE
Paul LEVRAULT 1 year ago
commit 86069e192a

@ -5,6 +5,7 @@ namespace App\Controller;
use Database\ActivityGateway; use Database\ActivityGateway;
use Database\ActivityMapper; use Database\ActivityMapper;
use Database\AnalyzeGateway; use Database\AnalyzeGateway;
use Database\AnalyzeMapper;
use Database\AthleteEntity; use Database\AthleteEntity;
use Database\AthleteMapper; use Database\AthleteMapper;
use Database\EntrainementGateway; use Database\EntrainementGateway;
@ -125,15 +126,32 @@ class AthleteController extends BaseController
} }
#[Route(path: '/analyze', name: 'analyze_details', methods: ['GET'])] #[Route(path: '/analyze', name: 'analyze_details', methods: ['GET'])]
public function activityDetails(int $id): Response public function activityDetails(): Response
{ {
try { try {
// Utilisez $id pour récupérer les détails de l'activité depuis la base de données // Utilisez $id pour récupérer les détails de l'activité depuis la base de données
// $activityGateway = new ActivityGateway(new Connexion(DSN, DB_USER, DB_PASSWORD)); // $activityGateway = new ActivityGateway(new Connexion(DSN, DB_USER, DB_PASSWORD));
// $activityEntity = $activityGateway->getActivityById($id); // Assurez-vous d'avoir une méthode similaire dans votre gateway // $activityEntity = $activityGateway->getActivityById($id); // Assurez-vous d'avoir une méthode similaire dans votre gateway
//$user = getCurrentUser(); FAIRE AVEC RECUP DE CURRENT USER ID
//$athleteId = $user->getId();
$athleteId = 1;
$activityGateway = new ActivityGateway(new Connexion(DSN, DB_USER, DB_PASSWORD));
$listActivityId = $activityGateway->getActivityByAthleteId($athleteId);
$listAnalyze = [];
foreach ($listActivityId as $activityId) {
$analyzeGateway = new AnalyzeGateway(new Connexion(DSN, DB_USER, DB_PASSWORD)); $analyzeGateway = new AnalyzeGateway(new Connexion(DSN, DB_USER, DB_PASSWORD));
$analyzeEntity = $analyzeGateway->getFrequenceCardiaqueByIdActivity($id); $analyzeSql = $analyzeGateway->getFrequenceCardiaqueByIdActivityAndCurrentAthlete($activityId, $athleteId);
$map = new AnalyzeMapper();
$analyzeEntity = $map->analyzeSqlToEntity($analyzeSql);
foreach ($analyzeEntity as $analyze) {
$listAnalyze = ['idFc' => $analyze->getIdFc(), 'altitude' => $analyze->getAltitude()];
}
}
$response = $this->render('./page/analyze.html.twig', [ $response = $this->render('./page/analyze.html.twig', [
'css' => $this->preference->getCookie(), 'css' => $this->preference->getCookie(),
@ -142,7 +160,7 @@ class AthleteController extends BaseController
'role' => 'Athlete',//$currentUser->getRole(), 'role' => 'Athlete',//$currentUser->getRole(),
'friendship' => [], 'friendship' => [],
'activity' => [], 'activity' => [],
'analyzes' => $analyzeEntity, 'analyzes' => $listAnalyze,
]); ]);
} catch (\Throwable $th) { } catch (\Throwable $th) {
throw $th; throw $th;

@ -60,6 +60,12 @@ class ActivityGateway {
return $this->connection->executeWithErrorHandling($query, $params); return $this->connection->executeWithErrorHandling($query, $params);
} }
public function getActivityByAthleteId(int $athleteId){
$query = "SELECT * FROM Activite WHERE athleteId = :athleteId";
$params = [':athleteId' => [$athleteId, PDO::PARAM_INT]];
return $this->connection->executeWithErrorHandling($query, $params);
}
public function addActivity(ActivityEntity $activity) { public function addActivity(ActivityEntity $activity) {
$query = "INSERT INTO Activite (type, date, heureDebut, heureDeFin, effortRessenti, variabilite, variance, ecartType, moyenne, maximum, minimum, temperatureMoyenne) $query = "INSERT INTO Activite (type, date, heureDebut, heureDeFin, effortRessenti, variabilite, variance, ecartType, moyenne, maximum, minimum, temperatureMoyenne)
VALUES (:type, :date, :heureDebut, :heureDeFin, :effortRessenti, :variabilite, :variance, :ecartType, :moyenne, :maximum, :minimum, :temperatureMoyenne)"; VALUES (:type, :date, :heureDebut, :heureDeFin, :effortRessenti, :variabilite, :variance, :ecartType, :moyenne, :maximum, :minimum, :temperatureMoyenne)";

@ -16,9 +16,16 @@ class AnalyzeGateway
} }
public function getFrequenceCardiaqueByIdActivity(int $activityId) public function getFrequenceCardiaqueByIdActivity(int $activityId)
{ {
$query = "SELECT * FROM FrequenceCardiaque WHERE activiteid = :id"; $query = "SELECT * FROM FrequenceCardiaque WHERE activiteId = :id";
$params = [':id' => $activityId]; $params = [':id' => $activityId];
return $this->connection->executeWithErrorHandling($query, $params); return $this->connection->executeWithErrorHandling($query, $params);
} }
public function getFrequenceCardiaqueByIdActivityAndCurrentAthlete(int $activityId, int $athleteId)
{
$query = "SELECT * FROM FrequenceCardiaque WHERE activiteId = :id AND athleteId = :athleteId";
$params = [':id' => $activityId, ':athleteId' => $athleteId];
return $this->connection->executeWithErrorHandling($query, $params);
}
} }

@ -73,34 +73,35 @@ class AnalyzeMapper
/** /**
* @throws \Exception * @throws \Exception
*/ */
// public function ActivityEntityToModel(ActivityEntity $activiteEntity):Activity { public function analyzeEntityToModel(ActivityEntity $activiteEntity) {
// $date = new DateTime($activiteEntity->getDate()); $date = new DateTime($activiteEntity->getDate());
// $heureDebut = new \DateTime($activiteEntity->getHeureDebut()); $heureDebut = new \DateTime($activiteEntity->getHeureDebut());
// $heureFin = new \DateTime($activiteEntity->getHeureFin()); $heureFin = new \DateTime($activiteEntity->getHeureFin());
// $effortRessenti = intval($activiteEntity->getEffortRessenti()); $effortRessenti = intval($activiteEntity->getEffortRessenti());
// $variability = floatval($activiteEntity->getVariability()); $variability = floatval($activiteEntity->getVariability());
// $variance = floatval($activiteEntity->getVariance()); $variance = floatval($activiteEntity->getVariance());
// $ecartType = floatval($activiteEntity->getEcartType()); $ecartType = floatval($activiteEntity->getEcartType());
//
// $act = new Activity( $act = new Activity(
// $activiteEntity->getIdActivity(), $activiteEntity->getIdActivity(),
// $activiteEntity->getType(), $activiteEntity->getType(),
// $date, $date,
// $heureDebut, $heureDebut,
// $heureFin, $heureFin,
// $effortRessenti, $effortRessenti,
// $variability, $variability,
// $variance, $variance,
// $ecartType, $ecartType,
// $activiteEntity->getMoyenne(), $activiteEntity->getMoyenne(),
// $activiteEntity->getMaximum(), $activiteEntity->getMaximum(),
// $activiteEntity->getMinimum(), $activiteEntity->getMinimum(),
// $activiteEntity->getTemperatureMoyenne(), $activiteEntity->getTemperatureMoyenne(),
// 'false' 'false'
// ); );
//
// return $act; return $act;
// } }
//public function ActivityToEntity(Activity model): ActivityEntity; //public function ActivityToEntity(Activity model): ActivityEntity;
// public function activityToEntity( $act):ActivityEntity{ // public function activityToEntity( $act):ActivityEntity{

Loading…
Cancel
Save