Résolution de bug En savoir plus activité/analyse

merged_PLE^2
Kevin MONTEIRO 1 year ago
parent 3fe8bde432
commit 56d7da2ce8

@ -5,6 +5,7 @@ namespace App\Controller;
use Database\ActivityGateway;
use Database\ActivityMapper;
use Database\AnalyzeGateway;
use Database\AnalyzeMapper;
use Database\AthleteEntity;
use Database\AthleteMapper;
use Database\EntrainementGateway;
@ -125,15 +126,32 @@ class AthleteController extends BaseController
}
#[Route(path: '/analyze', name: 'analyze_details', methods: ['GET'])]
public function activityDetails(int $id): Response
public function activityDetails(): Response
{
try {
// 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));
// $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));
$analyzeSql = $analyzeGateway->getFrequenceCardiaqueByIdActivityAndCurrentAthlete($activityId, $athleteId);
$map = new AnalyzeMapper();
$analyzeEntity = $map->analyzeSqlToEntity($analyzeSql);
foreach ($analyzeEntity as $analyze) {
$listAnalyze = ['idFc' => $analyze->getIdFc(), 'altitude' => $analyze->getAltitude()];
}
}
$analyzeGateway = new AnalyzeGateway(new Connexion(DSN, DB_USER, DB_PASSWORD));
$analyzeEntity = $analyzeGateway->getFrequenceCardiaqueByIdActivity($id);
$response = $this->render('./page/analyze.html.twig', [
'css' => $this->preference->getCookie(),
@ -142,7 +160,7 @@ class AthleteController extends BaseController
'role' => 'Athlete',//$currentUser->getRole(),
'friendship' => [],
'activity' => [],
'analyzes' => $analyzeEntity,
'analyzes' => $listAnalyze,
]);
} catch (\Throwable $th) {
throw $th;

@ -60,6 +60,12 @@ class ActivityGateway {
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) {
$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)";

@ -16,9 +16,16 @@ class AnalyzeGateway
}
public function getFrequenceCardiaqueByIdActivity(int $activityId)
{
$query = "SELECT * FROM FrequenceCardiaque WHERE activiteid = :id";
$query = "SELECT * FROM FrequenceCardiaque WHERE activiteId = :id";
$params = [':id' => $activityId];
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
*/
// public function ActivityEntityToModel(ActivityEntity $activiteEntity):Activity {
// $date = new DateTime($activiteEntity->getDate());
// $heureDebut = new \DateTime($activiteEntity->getHeureDebut());
// $heureFin = new \DateTime($activiteEntity->getHeureFin());
// $effortRessenti = intval($activiteEntity->getEffortRessenti());
// $variability = floatval($activiteEntity->getVariability());
// $variance = floatval($activiteEntity->getVariance());
// $ecartType = floatval($activiteEntity->getEcartType());
//
// $act = new Activity(
// $activiteEntity->getIdActivity(),
// $activiteEntity->getType(),
// $date,
// $heureDebut,
// $heureFin,
// $effortRessenti,
// $variability,
// $variance,
// $ecartType,
// $activiteEntity->getMoyenne(),
// $activiteEntity->getMaximum(),
// $activiteEntity->getMinimum(),
// $activiteEntity->getTemperatureMoyenne(),
// 'false'
// );
//
// return $act;
// }
public function analyzeEntityToModel(ActivityEntity $activiteEntity) {
$date = new DateTime($activiteEntity->getDate());
$heureDebut = new \DateTime($activiteEntity->getHeureDebut());
$heureFin = new \DateTime($activiteEntity->getHeureFin());
$effortRessenti = intval($activiteEntity->getEffortRessenti());
$variability = floatval($activiteEntity->getVariability());
$variance = floatval($activiteEntity->getVariance());
$ecartType = floatval($activiteEntity->getEcartType());
$act = new Activity(
$activiteEntity->getIdActivity(),
$activiteEntity->getType(),
$date,
$heureDebut,
$heureFin,
$effortRessenti,
$variability,
$variance,
$ecartType,
$activiteEntity->getMoyenne(),
$activiteEntity->getMaximum(),
$activiteEntity->getMinimum(),
$activiteEntity->getTemperatureMoyenne(),
'false'
);
return $act;
}
//public function ActivityToEntity(Activity model): ActivityEntity;
// public function activityToEntity( $act):ActivityEntity{

Loading…
Cancel
Save