From eb3406b7aba624ecbea26d0e277795a99ebbe14c Mon Sep 17 00:00:00 2001 From: Kevin Monteiro Date: Wed, 20 Dec 2023 16:01:56 +0100 Subject: [PATCH] Modif Analyse pour affichage avec BDD --- .../src/app/controller/AthleteController.php | 51 ++++++++++++++----- .../src/data/core/database/ActivityEntity.php | 6 +-- .../src/data/core/database/ActivityMapper.php | 2 +- Sources/src/data/model/Activity.php | 1 + 4 files changed, 43 insertions(+), 17 deletions(-) diff --git a/Sources/src/app/controller/AthleteController.php b/Sources/src/app/controller/AthleteController.php index 72c3031e..139f6c5a 100644 --- a/Sources/src/app/controller/AthleteController.php +++ b/Sources/src/app/controller/AthleteController.php @@ -2,6 +2,9 @@ namespace App\Controller; +use Database\ActivityEntity; +use Database\ActivityGateway; +use Database\ActivityMapper; use Database\AthleteMapper; use Database\EntrainementGateway; use Database\EntrainementMapper; @@ -116,19 +119,41 @@ class AthleteController extends BaseController #[Route(path: '/analyses', name: 'analyses', methods: ['GET'])] public function analyses(): Response { - return $this->render('./page/analyze.html.twig',[ - 'css' => $this->preference->getCookie(), - 'pp' => "test2", - 'user' => 'johndoe',//$currentUser->getUsername(), - 'role' => 'Athlete',//$currentUser->getRole(), - 'friendship' => [], - 'analyzes' => [], - 'mails' => [], - 'users' => [], - 'infoUser' => [], - 'exos' => [], - 'member' => [] - ]); + try { + $activityGateway = new ActivityGateway(new Connexion("pgsql:host=localhost;dbname=sae_3", "Perederii", "")); + $listSearch = $activityGateway->getActivity(); + $map = new ActivityMapper(); + $activityGateway = $map->activitySqlToEntity($listSearch); + $listActivity = []; + $i = 0; + foreach ($activityGateway as $entity) { + $activity = $map->activityEntityToModel($entity); + $listActivity[$i] = ['idactivity' => number_format($activity->getIdActivity(), 1), 'type' => $activity->getType(), + 'date' => $activity->getDate(), 'heureDebut' => $activity->getHeureDebut(), 'heureFin' => $activity->getHeureFin(), + 'effortRessenti' => $activity->getEffortRessenti(), 'variabilite' => $activity->getVariabilite(), 'variance' => $activity->getVariance(), + 'ecartType' => $activity->getStandardDeviation(), 'moyenne' => $activity->getAverage(), + 'max' => $activity->getMaximum(), 'min' => $activity->getMinimum(), 'temperature' =>$activity->getAvrTemperature()]; + $i++; + } + + $response = $this->render('./page/analyze.html.twig',[ + 'css' => $this->preference->getCookie(), + 'pp' => "test2", + 'user' => 'johndoe',//$currentUser->getUsername(), + 'role' => 'Athlete',//$currentUser->getRole(), + 'friendship' => [], + 'analyzes' => [], + 'mails' => [], + 'users' => [], + 'infoUser' => [], + 'exos' => [], + 'member' => [] + ]); + } catch (\Throwable $th) { + throw $th; + return $this->render("./page/analyze.html.twig", ['tabError' => $taberror]); + } + return $response; } #[Route(path: '/activity', name: 'activity', methods: ['GET'])] diff --git a/Sources/src/data/core/database/ActivityEntity.php b/Sources/src/data/core/database/ActivityEntity.php index 6eda351d..cf06a416 100644 --- a/Sources/src/data/core/database/ActivityEntity.php +++ b/Sources/src/data/core/database/ActivityEntity.php @@ -79,15 +79,15 @@ class ActivityEntity { $this->type = $type; } - public function setDate($date) { + public function setDate(\DateTime $date) { $this->date = $date; } - public function setHeureDebut($heureDebut) { + public function setHeureDebut(\DateTime $heureDebut) { $this->heureDebut = $heureDebut; } - public function setHeureFin($heureFin) { + public function setHeureFin(\DateTime $heureFin) { $this->heureFin = $heureFin; } diff --git a/Sources/src/data/core/database/ActivityMapper.php b/Sources/src/data/core/database/ActivityMapper.php index 52e5a872..c13453a8 100644 --- a/Sources/src/data/core/database/ActivityMapper.php +++ b/Sources/src/data/core/database/ActivityMapper.php @@ -72,7 +72,7 @@ class ActivityMapper { /** * @throws \Exception */ - public function ActivityEntityToModel(ActivityEntity $activiteEntity):Activity{ + public function activityEntityToModel(ActivityEntity $activiteEntity):Activity{ $act = new Activity( $activiteEntity->getIdActivity(), diff --git a/Sources/src/data/model/Activity.php b/Sources/src/data/model/Activity.php index ec723b3b..c592ad72 100644 --- a/Sources/src/data/model/Activity.php +++ b/Sources/src/data/model/Activity.php @@ -274,5 +274,6 @@ class Activity " et un minimum de " . $this->minimum . " bpm" . " et une pause automatique " . ($this->hasAutoPause ? "activée" : "désactivée") . ".\n"; } + } ?>