From c7273ba2bc3b72141b01ba6f6b17ede31ff002b4 Mon Sep 17 00:00:00 2001 From: Antoine PEREDERII Date: Sat, 9 Mar 2024 15:35:06 +0100 Subject: [PATCH] Update 'src/Tests/ConsoleTestEntities/Program.cs' --- src/Tests/ConsoleTestEntities/Program.cs | 1981 +++++++++++----------- 1 file changed, 991 insertions(+), 990 deletions(-) diff --git a/src/Tests/ConsoleTestEntities/Program.cs b/src/Tests/ConsoleTestEntities/Program.cs index 153f506..3827979 100644 --- a/src/Tests/ConsoleTestEntities/Program.cs +++ b/src/Tests/ConsoleTestEntities/Program.cs @@ -1,991 +1,992 @@ -using DbContextLib; -using StubbedContextLib; -using Microsoft.EntityFrameworkCore; -using Entities; - - -class Program -{ - static void Main(string[] args) - { - - try { - using (LibraryContext db = new TrainingStubbedContext()) - { - AthletesTests(db); - - ActivityTests(db); - - DataSourceTests(db); - - HeartRateTests(db); - - NotificationTests(db); - - // StatisticTests(db); - - // TrainingTests(db); - - // AddUpdateDeleteAthlete(db); - - // AddUpdateDeleteActivity(db); - - // AddUpdateDeleteDataSource(db); - - // AddUpdateDeleteHeartRate(db); - - // AddUpdateDeleteNotification(db); - - // AddUpdateDeleteStatistic(db); - - // AddUpdateDeleteTraining(db); - } - } - catch (Exception ex) - { - Console.WriteLine($"Une erreur s'est produite : {ex.Message}"); - } - } - - static void AthletesTests(LibraryContext db) - { - Console.WriteLine("Accès à tous les athletes :"); - - // Affichage des athletes - Console.WriteLine("Athletes :"); - Console.WriteLine("---------------------------------"); - - foreach (var athlete in db.AthletesSet) - { - Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'athlete d'id '2' :"); - Console.WriteLine("---------------------------------"); - foreach (var athlete in db.AthletesSet.Where(a => a.IdAthlete == 2)) - { - Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'athlete de username 'Doe' :"); - Console.WriteLine("---------------------------------"); - foreach (var athlete in db.AthletesSet.Where(a => a.Username == "Doe")) - { - Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'athlete de sexe 'F' :"); - Console.WriteLine("---------------------------------"); - foreach (var athlete in db.AthletesSet.Where(a => a.Sexe == "F")) - { - Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'athlete de email 'bruce.lee@example.com' :"); - Console.WriteLine("---------------------------------"); - foreach (var athlete in db.AthletesSet.Where(a => a.Email == "bruce.lee@example.com")) - { - Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'athlete de poids '90' :"); - Console.WriteLine("---------------------------------"); - foreach (var athlete in db.AthletesSet.Where(a => a.Weight == 90)) - { - Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'athlete de taille '1.80' :"); - Console.WriteLine("---------------------------------"); - foreach (var athlete in db.AthletesSet.Where(a => a.Length == 1.80)) - { - Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'athlete de date de naissance '01/01/1990' :"); - Console.WriteLine("---------------------------------"); - foreach (var athlete in db.AthletesSet.Where(a => a.DateOfBirth == new DateOnly(1990, 01, 01))) - { - Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'athlete de nom 'Martin' :"); - Console.WriteLine("---------------------------------"); - foreach (var athlete in db.AthletesSet.Where(a => a.LastName == "Martin")) - { - Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'athlete de prénom 'Anna' :"); - Console.WriteLine("---------------------------------"); - foreach (var athlete in db.AthletesSet.Where(a => a.FirstName == "Anna")) - { - Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'athlete de nom 'Brown' et de prénom 'Anna' :"); - Console.WriteLine("---------------------------------"); - foreach (var athlete in db.AthletesSet.Where(a => a.LastName == "Brown" && a.FirstName == "Anna")) - { - Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès au coachs :"); - Console.WriteLine("---------------------------------"); - foreach (var athlete in db.AthletesSet.Where(a => a.IsCoach == true)) - { - Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); - } - - Console.WriteLine("---------------------------------\n"); - } - - static void ActivityTests(LibraryContext db) - { - Console.WriteLine("Accès à toutes les activités :"); - - Console.WriteLine("Activités :"); - Console.WriteLine("---------------------------------"); - - foreach (var activity in db.ActivitiesSet) - { - Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'activité d'id '2' :"); - Console.WriteLine("---------------------------------"); - - foreach (var activity in db.ActivitiesSet.Where(a => a.IdActivity == 2)) - { - Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'activité de type 'Running' :"); - Console.WriteLine("---------------------------------"); - - foreach (var activity in db.ActivitiesSet.Where(a => a.Type == "Running")) - { - Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'activité de date '10/01/2023' :"); - Console.WriteLine("---------------------------------"); - - foreach (var activity in db.ActivitiesSet.Where(a => a.Date == new DateOnly(2023, 01, 10))) - { - Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'activité de temps '13:00:34' :"); - Console.WriteLine("---------------------------------"); - - foreach (var activity in db.ActivitiesSet.Where(a => a.StartTime == new TimeOnly(13, 00, 34))) - { - Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'activité de temps '13:00:34' et de type 'Running' :"); - Console.WriteLine("---------------------------------"); - - foreach (var activity in db.ActivitiesSet.Where(a => a.StartTime == new TimeOnly(13, 00, 34) && a.Type == "Running")) - { - Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'activité de temps '13:00:34' et de type 'Running' et de date '10/01/2023' :"); - Console.WriteLine("---------------------------------"); - - foreach (var activity in db.ActivitiesSet.Where(a => a.StartTime == new TimeOnly(13, 00, 34) && a.Type == "Running" && a.Date == new DateOnly(2023, 01, 10))) - { - Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'activité de temps '13:00:34' et de type 'Running' et de date '10/01/2023' et de temps de fin '14:00:22' :"); - Console.WriteLine("---------------------------------"); - - foreach (var activity in db.ActivitiesSet.Where(a => a.StartTime == new TimeOnly(13, 00, 34) && a.Type == "Running" && a.Date == new DateOnly(2023, 01, 10) && a.EndTime == new TimeOnly(14, 00, 22))) - { - Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'activité de temps '13:00:34' et de type 'Running' et de date '10/01/2023' et de temps de fin '14:00:22' et de ressenti d'effort '5' :"); - Console.WriteLine("---------------------------------"); - - foreach (var activity in db.ActivitiesSet.Where(a => a.StartTime == new TimeOnly(13, 00, 34) && a.Type == "Running" && a.Date == new DateOnly(2023, 01, 10) && a.EndTime == new TimeOnly(14, 00, 22) && a.EffortFelt == 5)) - { - Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'activité de temps '13:00:34' et de type 'Running' et de date '10/01/2023' et de temps de fin '14:00:22' et de ressenti d'effort '5' et de variabilité '0.5' :"); - Console.WriteLine("---------------------------------"); - - foreach (var activity in db.ActivitiesSet.Where(a => a.StartTime == new TimeOnly(13, 00, 34) && a.Type == "Running" && a.Date == new DateOnly(2023, 01, 10) && a.EndTime == new TimeOnly(14, 00, 22) && a.EffortFelt == 5 && a.Variability == 0.5F)) - { - Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'activité de temps '13:00:34' et de type 'Running' et de date '10/01/2023' et de temps de fin '14:00:22' et de ressenti d'effort '5' et de variabilité '0.5' et de variance '0.5' :"); - Console.WriteLine("---------------------------------"); - - foreach (var activity in db.ActivitiesSet.Where(a => a.StartTime == new TimeOnly(13, 00, 34) && a.Type == "Running" && a.Date == new DateOnly(2023, 01, 10) && a.EndTime == new TimeOnly(14, 00, 22) && a.EffortFelt == 5 && a.Variability == 0.5F && a.Variance == 0.5F)) - { - Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); - } - - Console.WriteLine("---------------------------------\n"); - } - - static void DataSourceTests(LibraryContext db) - { - Console.WriteLine("Accès à toutes les sources de données :"); - - Console.WriteLine("Sources de données :"); - Console.WriteLine("---------------------------------"); - - foreach (var dataSource in db.DataSourcesSet) - { - Console.WriteLine($"\t{dataSource.IdSource} - {dataSource.Type}, {dataSource.Model}, {dataSource.Precision}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la source de données d'id '2' :"); - Console.WriteLine("---------------------------------"); - - foreach (var dataSource in db.DataSourcesSet.Where(d => d.IdSource == 2)) - { - Console.WriteLine($"\t{dataSource.IdSource} - {dataSource.Type}, {dataSource.Model}, {dataSource.Precision}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la source de données de type 'Smartwatch' :"); - Console.WriteLine("---------------------------------"); - - foreach (var dataSource in db.DataSourcesSet.Where(d => d.Type == "Smartwatch")) - { - Console.WriteLine($"\t{dataSource.IdSource} - {dataSource.Type}, {dataSource.Model}, {dataSource.Precision}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la source de données de modèle 'Garmin' :"); - Console.WriteLine("---------------------------------"); - - foreach (var dataSource in db.DataSourcesSet.Where(d => d.Model == "Garmin")) - { - Console.WriteLine($"\t{dataSource.IdSource} - {dataSource.Type}, {dataSource.Model}, {dataSource.Precision}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la source de données de précision '0.5' :"); - Console.WriteLine("---------------------------------"); - - foreach (var dataSource in db.DataSourcesSet.Where(d => d.Precision == 0.5f)) - { - Console.WriteLine($"\t{dataSource.IdSource} - {dataSource.Type}, {dataSource.Model}, {dataSource.Precision}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la source de données de type 'Smartwatch' et de modèle 'Garmin' :"); - Console.WriteLine("---------------------------------"); - - foreach (var dataSource in db.DataSourcesSet.Where(d => d.Type == "Smartwatch" && d.Model == "Garmin")) - { - Console.WriteLine($"\t{dataSource.IdSource} - {dataSource.Type}, {dataSource.Model}, {dataSource.Precision}"); - } - - Console.WriteLine("---------------------------------\n"); - } - - static void HeartRateTests(LibraryContext db) - { - Console.WriteLine("Accès à toutes les fréquences cardiaques :"); - - Console.WriteLine("Fréquences cardiaques :"); - Console.WriteLine("---------------------------------"); - - foreach (var heartRate in db.HeartRatesSet) - { - Console.WriteLine($"\t{heartRate.IdHeartRate} - {heartRate.Altitude}, {heartRate.Time}, {heartRate.Temperature}, {heartRate.Bpm}, {heartRate.Longitude}, {heartRate.Latitude}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la fréquence cardiaque d'id '2' :"); - Console.WriteLine("---------------------------------"); - - foreach (var heartRate in db.HeartRatesSet.Where(h => h.IdHeartRate == 2)) - { - Console.WriteLine($"\t{heartRate.IdHeartRate} - {heartRate.Altitude}, {heartRate.Time}, {heartRate.Temperature}, {heartRate.Bpm}, {heartRate.Longitude}, {heartRate.Latitude}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la fréquence cardiaque d'altitude '10' :"); - Console.WriteLine("---------------------------------"); - - foreach (var heartRate in db.HeartRatesSet.Where(h => h.Altitude == 10)) - { - Console.WriteLine($"\t{heartRate.IdHeartRate} - {heartRate.Altitude}, {heartRate.Time}, {heartRate.Temperature}, {heartRate.Bpm}, {heartRate.Longitude}, {heartRate.Latitude}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la fréquence cardiaque de température '20.5' :"); - Console.WriteLine("---------------------------------"); - - foreach (var heartRate in db.HeartRatesSet.Where(h => h.Temperature == 20.5f)) - { - Console.WriteLine($"\t{heartRate.IdHeartRate} - {heartRate.Altitude}, {heartRate.Time}, {heartRate.Temperature}, {heartRate.Bpm}, {heartRate.Longitude}, {heartRate.Latitude}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la fréquence cardiaque de bpm '65' :"); - Console.WriteLine("---------------------------------"); - - foreach (var heartRate in db.HeartRatesSet.Where(h => h.Bpm == 65)) - { - Console.WriteLine($"\t{heartRate.IdHeartRate} - {heartRate.Altitude}, {heartRate.Time}, {heartRate.Temperature}, {heartRate.Bpm}, {heartRate.Longitude}, {heartRate.Latitude}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la fréquence cardiaque de longitude '35' :"); - Console.WriteLine("---------------------------------"); - - foreach (var heartRate in db.HeartRatesSet.Where(h => h.Longitude == 35)) - { - Console.WriteLine($"\t{heartRate.IdHeartRate} - {heartRate.Altitude}, {heartRate.Time}, {heartRate.Temperature}, {heartRate.Bpm}, {heartRate.Longitude}, {heartRate.Latitude}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la fréquence cardiaque de latitude '66' :"); - Console.WriteLine("---------------------------------"); - - foreach (var heartRate in db.HeartRatesSet.Where(h => h.Latitude == 66)) - { - Console.WriteLine($"\t{heartRate.IdHeartRate} - {heartRate.Altitude}, {heartRate.Time}, {heartRate.Temperature}, {heartRate.Bpm}, {heartRate.Longitude}, {heartRate.Latitude}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la fréquence cardiaque d'altitude '10' et de température '20.5' :"); - Console.WriteLine("---------------------------------"); - - foreach (var heartRate in db.HeartRatesSet.Where(h => h.Altitude == 10 && h.Temperature == 20.5f)) - { - Console.WriteLine($"\t{heartRate.IdHeartRate} - {heartRate.Altitude}, {heartRate.Time}, {heartRate.Temperature}, {heartRate.Bpm}, {heartRate.Longitude}, {heartRate.Latitude}"); - } - - Console.WriteLine("---------------------------------\n"); - } - - static void NotificationTests(LibraryContext db) - { - Console.WriteLine("Accès à toutes les notifications :"); - - Console.WriteLine("Notifications :"); - Console.WriteLine("---------------------------------"); - - foreach (var notification in db.NotificationsSet) - { - Console.WriteLine($"\t{notification.IdNotif} - {notification.Message}, {notification.Date}, {notification.Statut}, {notification.Urgence}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la notification d'id '2' :"); - Console.WriteLine("---------------------------------"); - - foreach (var notification in db.NotificationsSet.Where(n => n.IdNotif == 2)) - { - Console.WriteLine($"\t{notification.IdNotif} - {notification.Message}, {notification.Date}, {notification.Statut}, {notification.Urgence}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la notification de message 'You have a new activity to check' :"); - Console.WriteLine("---------------------------------"); - - foreach (var notification in db.NotificationsSet.Where(n => n.Message == "You have a new activity to check")) - { - Console.WriteLine($"\t{notification.IdNotif} - {notification.Message}, {notification.Date}, {notification.Statut}, {notification.Urgence}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la notification de date '25/12/2023' :"); - Console.WriteLine("---------------------------------"); - - foreach (var notification in db.NotificationsSet.Where(n => n.Date == new DateTime(2023, 12, 25, 13, 00, 40))) - { - Console.WriteLine($"\t{notification.IdNotif} - {notification.Message}, {notification.Date}, {notification.Statut}, {notification.Urgence}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la notification de statut 'true' :"); - Console.WriteLine("---------------------------------"); - - foreach (var notification in db.NotificationsSet.Where(n => n.Statut == true)) - { - Console.WriteLine($"\t{notification.IdNotif} - {notification.Message}, {notification.Date}, {notification.Statut}, {notification.Urgence}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la notification d'urgence 'A' :"); - Console.WriteLine("---------------------------------"); - - foreach (var notification in db.NotificationsSet.Where(n => n.Urgence == "A")) - { - Console.WriteLine($"\t{notification.IdNotif} - {notification.Message}, {notification.Date}, {notification.Statut}, {notification.Urgence}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la notification de message 'You have a new activity to check' et de date '25/12/2023' :"); - Console.WriteLine("---------------------------------"); - - foreach (var notification in db.NotificationsSet.Where(n => n.Message == "You have a new activity to check" && n.Date == new DateTime(2023, 12, 25, 13, 00, 40))) - { - Console.WriteLine($"\t{notification.IdNotif} - {notification.Message}, {notification.Date}, {notification.Statut}, {notification.Urgence}"); - } - - Console.WriteLine("---------------------------------\n"); - } - - static void StatisticTests(LibraryContext db) - { - Console.WriteLine("Accès à toutes les statistiques :"); - - Console.WriteLine("Statistiques :"); - Console.WriteLine("---------------------------------"); - - foreach (var statistic in db.StatisticsSet) - { - Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la statistique d'id '2' :"); - Console.WriteLine("---------------------------------"); - - foreach (var statistic in db.StatisticsSet.Where(s => s.IdStatistic == 2)) - { - Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la statistique de poids '60' :"); - Console.WriteLine("---------------------------------"); - - foreach (var statistic in db.StatisticsSet.Where(s => s.Weight == 60)) - { - Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la statistique de fréquence cardiaque moyenne '130' :"); - Console.WriteLine("---------------------------------"); - - foreach (var statistic in db.StatisticsSet.Where(s => s.AverageHeartRate == 130)) - { - Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la statistique de fréquence cardiaque maximale '190' :"); - Console.WriteLine("---------------------------------"); - - foreach (var statistic in db.StatisticsSet.Where(s => s.MaximumHeartRate == 190)) - { - Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la statistique de calories brûlées en moyenne '550' :"); - Console.WriteLine("---------------------------------"); - - foreach (var statistic in db.StatisticsSet.Where(s => s.AverageCaloriesBurned == 550)) - { - Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la statistique de date '30/12/2022' :"); - Console.WriteLine("---------------------------------"); - - foreach (var statistic in db.StatisticsSet.Where(s => s.Date == new DateOnly(2022, 12, 30))) - { - Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la statistique de poids '60' et de fréquence cardiaque moyenne '130' :"); - Console.WriteLine("---------------------------------"); - - foreach (var statistic in db.StatisticsSet.Where(s => s.Weight == 60 && s.AverageHeartRate == 130)) - { - Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la statistique de poids '60' et de fréquence cardiaque moyenne '130' et de fréquence cardiaque maximale '190' :"); - Console.WriteLine("---------------------------------"); - - foreach (var statistic in db.StatisticsSet.Where(s => s.Weight == 60 && s.AverageHeartRate == 130 && s.MaximumHeartRate == 190)) - { - Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la statistique de poids '60' et de fréquence cardiaque moyenne '130' et de fréquence cardiaque maximale '190' et de calories brûlées en moyenne '600' :"); - Console.WriteLine("---------------------------------"); - - foreach (var statistic in db.StatisticsSet.Where(s => s.Weight == 60 && s.AverageHeartRate == 130 && s.MaximumHeartRate == 190 && s.AverageCaloriesBurned == 600)) - { - Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la statistique de poids '60' et de fréquence cardiaque moyenne '130' et de fréquence cardiaque maximale '190' et de calories brûlées en moyenne '600' et de date '11/01/2021' :"); - Console.WriteLine("---------------------------------"); - - foreach (var statistic in db.StatisticsSet.Where(s => s.Weight == 60 && s.AverageHeartRate == 130 && s.MaximumHeartRate == 190 && s.AverageCaloriesBurned == 600 && s.Date == new DateOnly(2021, 01, 11))) - { - Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la statistique de poids '60' et de fréquence cardiaque moyenne '130' et de fréquence cardiaque maximale '190' et de calories brûlées en moyenne '600' et de date '11/01/2021' :"); - Console.WriteLine("---------------------------------"); - - foreach (var statistic in db.StatisticsSet.Where(s => s.Weight == 60 && s.AverageHeartRate == 130 && s.MaximumHeartRate == 190 && s.AverageCaloriesBurned == 600 && s.Date == new DateOnly(2021, 01, 11))) - { - Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à la statistique de poids '60' et de fréquence cardiaque moyenne '130' et de fréquence cardiaque maximale '190' et de calories brûlées en moyenne '600' et de date '11/01/2021' :"); - Console.WriteLine("---------------------------------"); - - foreach (var statistic in db.StatisticsSet.Where(s => s.Weight == 60 && s.AverageHeartRate == 130 && s.MaximumHeartRate == 190 && s.AverageCaloriesBurned == 600 && s.Date == new DateOnly(2021, 01, 11))) - { - Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); - } - - Console.WriteLine("---------------------------------\n"); - } - static void TrainingTests(LibraryContext db) - { - Console.WriteLine("Accès à tout les entrainements :"); - - Console.WriteLine("Entrainements :"); - Console.WriteLine("---------------------------------"); - - foreach (var training in db.TrainingsSet) - { - Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'entrainement d'id '2' :"); - Console.WriteLine("---------------------------------"); - - foreach (var training in db.TrainingsSet.Where(t => t.IdTraining == 2)) - { - Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'entrainement de date '21/02/2024' :"); - Console.WriteLine("---------------------------------"); - - foreach (var training in db.TrainingsSet.Where(t => t.Date == new DateOnly(2024, 02, 21))) - { - Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'entrainement de description 'Running' :"); - Console.WriteLine("---------------------------------"); - - foreach (var training in db.TrainingsSet.Where(t => t.Description == "Running")) - { - Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'entrainement de latitude '48.8566f' :"); - Console.WriteLine("---------------------------------"); - - foreach (var training in db.TrainingsSet.Where(t => t.Latitude == 48.8566f)) - { - Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'entrainement de longitude '2.3522f' :"); - Console.WriteLine("---------------------------------"); - - foreach (var training in db.TrainingsSet.Where(t => t.Longitude == 2.3522f)) - { - Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'entrainement de feedback 'Good' :"); - Console.WriteLine("---------------------------------"); - - foreach (var training in db.TrainingsSet.Where(t => t.FeedBack == "Good")) - { - Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'entrainement de date '20/02/2024' et de description 'Cycling' :"); - Console.WriteLine("---------------------------------"); - - foreach (var training in db.TrainingsSet.Where(t => t.Date == new DateOnly(2024, 02, 20) && t.Description == "Cycling")) - { - Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'entrainement de date '22/02/2024' et de description 'Running' et de latitude '48.8566f' :"); - Console.WriteLine("---------------------------------"); - - foreach (var training in db.TrainingsSet.Where(t => t.Date == new DateOnly(2024, 02, 22) && t.Description == "Running" && t.Latitude == 48.8566f)) - { - Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'entrainement de date '23/02/2024' et de description 'Cycling' et de latitude '48.8566f' et de longitude '2.3522f' :"); - Console.WriteLine("---------------------------------"); - - foreach (var training in db.TrainingsSet.Where(t => t.Date == new DateOnly(2024, 02, 23) && t.Description == "Cycling" && t.Latitude == 48.8566f && t.Longitude == 2.3522f)) - { - Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); - } - - Console.WriteLine("---------------------------------\n"); - - Console.WriteLine("Accès à l'entrainement de date '19/01/2024' et de description 'Running' et de latitude '48.8566f' et de longitude '2.3522f' et de feedback 'Good' :"); - Console.WriteLine("---------------------------------"); - - foreach (var training in db.TrainingsSet.Where(t => t.Date == new DateOnly(2024, 01, 19) && t.Description == "Running" && t.Latitude == 48.8566f && t.Longitude == 2.3522f && t.FeedBack == "Good")) - { - Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); - } - - Console.WriteLine("---------------------------------\n"); - } - - static void AddUpdateDeleteAthlete(LibraryContext db) - { - Console.WriteLine("Test d'ajout, de modification et de suppression des athletes :"); - - // Ajout d'un nouveau livre - var newAthlete = new AthleteEntity { Username = "Doe", LastName = "Doe", FirstName = "John", Email = "essaie.example.com", Password = "TheNewPassword", Sexe = "M", Length = 1.80, Weight = 90, DateOfBirth = new DateOnly(2024, 02, 22), IsCoach = false }; - db.AthletesSet.Add(newAthlete); - db.SaveChanges(); - - // Affichage des livres après ajout - Console.WriteLine("Athlete après ajout :"); - foreach (var athlete in db.AthletesSet) - { - Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); - } - - // Modification du titre du nouveau livre - newAthlete.Email = "email.example@exemple.com"; - db.SaveChanges(); - - // Affichage des livres après modification - Console.WriteLine("Livres après modification :"); - foreach (var athlete in db.AthletesSet) - { - Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); - } - - // Suppression du nouveau livre - db.AthletesSet.Remove(newAthlete); - db.SaveChanges(); - - // Affichage des livres après suppression - Console.WriteLine("Livres après suppression :"); - foreach (var athlete in db.AthletesSet) - { - Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); - } - } - - static void AddUpdateDeleteActivity(LibraryContext db) - { - Console.WriteLine("Test d'ajout, de modification et de suppression des activités :"); - - var newActivity = new ActivityEntity { Type = "Running", Date = new DateOnly(2022, 02, 22), StartTime = new TimeOnly(12, 01, 38), EndTime = new TimeOnly(13, 45, 58), EffortFelt = 5, Variability = 10, Variance = 20, StandardDeviation = 30, Average = 40, Maximum = 50, Minimum = 60, AverageTemperature = 70, HasAutoPause = false }; - db.ActivitiesSet.Add(newActivity); - db.SaveChanges(); - - Console.WriteLine("Activité après ajout :"); - foreach (var activity in db.ActivitiesSet) - { - Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); - } - - newActivity.Type = "Cycling"; - db.SaveChanges(); - - Console.WriteLine("Activité après modification :"); - foreach (var activity in db.ActivitiesSet) - { - Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); - } - - db.ActivitiesSet.Remove(newActivity); - db.SaveChanges(); - - Console.WriteLine("Activité après suppression :"); - foreach (var activity in db.ActivitiesSet) - { - Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); - } - - } - - static void AddUpdateDeleteDataSource(LibraryContext db) - { - Console.WriteLine("Test d'ajout, de modification et de suppression des sources de données :"); - - var newDataSource = new DataSourceEntity { Type = "Polar", Model = "Polar Vantage V2", Precision = 0.5F }; - db.DataSourcesSet.Add(newDataSource); - db.SaveChanges(); - - Console.WriteLine("Source de données après ajout :"); - foreach (var dataSource in db.DataSourcesSet) - { - Console.WriteLine($"\t{dataSource.IdSource} - {dataSource.Type}, {dataSource.Model}, {dataSource.Precision}"); - } - - newDataSource.Type = "Garmin"; - db.SaveChanges(); - - Console.WriteLine("Source de données après modification :"); - foreach (var dataSource in db.DataSourcesSet) - { - Console.WriteLine($"\t{dataSource.IdSource} - {dataSource.Type}, {dataSource.Model}, {dataSource.Precision}"); - } - - db.DataSourcesSet.Remove(newDataSource); - db.SaveChanges(); - - Console.WriteLine("Source de données après suppression :"); - foreach (var dataSource in db.DataSourcesSet) - { - Console.WriteLine($"\t{dataSource.IdSource} - {dataSource.Type}, {dataSource.Model}, {dataSource.Precision}"); - } - } - - static void AddUpdateDeleteHeartRate(LibraryContext db) - { - Console.WriteLine("Test d'ajout, de modification et de suppression des fréquences cardiaques :"); - - var newHeartRate = new HeartRateEntity { Altitude = 100, Time = new TimeOnly(12, 00, 00), Temperature = 20, Bpm = 150, Longitude = 0, Latitude = 0 }; - db.HeartRatesSet.Add(newHeartRate); - db.SaveChanges(); - - Console.WriteLine("Fréquence cardiaque après ajout :"); - foreach (var heartRate in db.HeartRatesSet) - { - Console.WriteLine($"\t{heartRate.IdHeartRate} - {heartRate.Altitude}, {heartRate.Time}, {heartRate.Temperature}, {heartRate.Bpm}, {heartRate.Longitude}, {heartRate.Latitude}"); - } - - newHeartRate.Altitude = 200; - db.SaveChanges(); - - Console.WriteLine("Fréquence cardiaque après modification :"); - foreach (var heartRate in db.HeartRatesSet) - { - Console.WriteLine($"\t{heartRate.IdHeartRate} - {heartRate.Altitude}, {heartRate.Time}, {heartRate.Temperature}, {heartRate.Bpm}, {heartRate.Longitude}, {heartRate.Latitude}"); - } - - db.HeartRatesSet.Remove(newHeartRate); - db.SaveChanges(); - - Console.WriteLine("Fréquence cardiaque après suppression :"); - foreach (var heartRate in db.HeartRatesSet) - { - Console.WriteLine($"\t{heartRate.IdHeartRate} - {heartRate.Altitude}, {heartRate.Time}, {heartRate.Temperature}, {heartRate.Bpm}, {heartRate.Longitude}, {heartRate.Latitude}"); - } - } - - static void AddUpdateDeleteNotification(LibraryContext db) - { - Console.WriteLine("Test d'ajout, de modification et de suppression des notifications :"); - - var newNotification = new NotificationEntity { Message = "Message de test", Date = new DateTime(2022, 01, 01), Statut = false, Urgence = "Urgent" }; - db.NotificationsSet.Add(newNotification); - db.SaveChanges(); - - Console.WriteLine("Notification après ajout :"); - foreach (var notification in db.NotificationsSet) - { - Console.WriteLine($"\t{notification.IdNotif} - {notification.Message}, {notification.Date}, {notification.Statut}, {notification.Urgence}"); - } - - newNotification.Message = "Nouveau message de test"; - db.SaveChanges(); - - Console.WriteLine("Notification après modification :"); - foreach (var notification in db.NotificationsSet) - { - Console.WriteLine($"\t{notification.IdNotif} - {notification.Message}, {notification.Date}, {notification.Statut}, {notification.Urgence}"); - } - - db.NotificationsSet.Remove(newNotification); - db.SaveChanges(); - - Console.WriteLine("Notification après suppression :"); - foreach (var notification in db.NotificationsSet) - { - Console.WriteLine($"\t{notification.IdNotif} - {notification.Message}, {notification.Date}, {notification.Statut}, {notification.Urgence}"); - } - } - - static void AddUpdateDeleteStatistic(LibraryContext db) - { - Console.WriteLine("Test d'ajout, de modification et de suppression des statistiques :"); - - var newStatistic = new StatisticEntity { Weight = 80, AverageHeartRate = 150, MaximumHeartRate = 180, AverageCaloriesBurned = 500, Date = new DateOnly(2022, 01, 01) }; - db.StatisticsSet.Add(newStatistic); - db.SaveChanges(); - - Console.WriteLine("Statistique après ajout :"); - foreach (var statistic in db.StatisticsSet) - { - Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); - } - - newStatistic.Weight = 90; - db.SaveChanges(); - - Console.WriteLine("Statistique après modification :"); - foreach (var statistic in db.StatisticsSet) - { - Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); - } - - db.StatisticsSet.Remove(newStatistic); - db.SaveChanges(); - - Console.WriteLine("Statistique après suppression :"); - foreach (var statistic in db.StatisticsSet) - { - Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); - } - } - - static void AddUpdateDeleteTraining(LibraryContext db) - { - Console.WriteLine("Test d'ajout, de modification et de suppression des entrainements :"); - - var newTraining = new TrainingEntity { Date = new DateOnly(2022, 01, 01), Description = "Entrainement de test", Latitude = 0, Longitude = 0, FeedBack = "Bon entrainement" }; - db.TrainingsSet.Add(newTraining); - db.SaveChanges(); - - Console.WriteLine("Entrainement après ajout :"); - foreach (var training in db.TrainingsSet) - { - Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); - } - - newTraining.Description = "Nouvel entrainement de test"; - db.SaveChanges(); - - Console.WriteLine("Entrainement après modification :"); - foreach (var training in db.TrainingsSet) - { - Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); - } - - db.TrainingsSet.Remove(newTraining); - db.SaveChanges(); - - Console.WriteLine("Entrainement après suppression :"); - foreach (var training in db.TrainingsSet) - { - Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); - } - } +using DbContextLib; +using StubbedContextLib; +using Microsoft.EntityFrameworkCore; +using Entities; + +namespace ConsoleTestEntities; + +class Program +{ + static void Main(string[] args) + { + + try { + using (LibraryContext db = new TrainingStubbedContext()) + { + AthletesTests(db); + + ActivityTests(db); + + DataSourceTests(db); + + HeartRateTests(db); + + NotificationTests(db); + + // StatisticTests(db); + + // TrainingTests(db); + + // AddUpdateDeleteAthlete(db); + + // AddUpdateDeleteActivity(db); + + // AddUpdateDeleteDataSource(db); + + // AddUpdateDeleteHeartRate(db); + + // AddUpdateDeleteNotification(db); + + // AddUpdateDeleteStatistic(db); + + // AddUpdateDeleteTraining(db); + } + } + catch (Exception ex) + { + Console.WriteLine($"Une erreur s'est produite : {ex.Message}"); + } + } + + static void AthletesTests(LibraryContext db) + { + Console.WriteLine("Accès à tous les athletes :"); + + // Affichage des athletes + Console.WriteLine("Athletes :"); + Console.WriteLine("---------------------------------"); + + foreach (var athlete in db.AthletesSet) + { + Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'athlete d'id '2' :"); + Console.WriteLine("---------------------------------"); + foreach (var athlete in db.AthletesSet.Where(a => a.IdAthlete == 2)) + { + Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'athlete de username 'Doe' :"); + Console.WriteLine("---------------------------------"); + foreach (var athlete in db.AthletesSet.Where(a => a.Username == "Doe")) + { + Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'athlete de sexe 'F' :"); + Console.WriteLine("---------------------------------"); + foreach (var athlete in db.AthletesSet.Where(a => a.Sexe == "F")) + { + Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'athlete de email 'bruce.lee@example.com' :"); + Console.WriteLine("---------------------------------"); + foreach (var athlete in db.AthletesSet.Where(a => a.Email == "bruce.lee@example.com")) + { + Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'athlete de poids '90' :"); + Console.WriteLine("---------------------------------"); + foreach (var athlete in db.AthletesSet.Where(a => a.Weight == 90)) + { + Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'athlete de taille '1.80' :"); + Console.WriteLine("---------------------------------"); + foreach (var athlete in db.AthletesSet.Where(a => a.Length == 1.80)) + { + Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'athlete de date de naissance '01/01/1990' :"); + Console.WriteLine("---------------------------------"); + foreach (var athlete in db.AthletesSet.Where(a => a.DateOfBirth == new DateOnly(1990, 01, 01))) + { + Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'athlete de nom 'Martin' :"); + Console.WriteLine("---------------------------------"); + foreach (var athlete in db.AthletesSet.Where(a => a.LastName == "Martin")) + { + Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'athlete de prénom 'Anna' :"); + Console.WriteLine("---------------------------------"); + foreach (var athlete in db.AthletesSet.Where(a => a.FirstName == "Anna")) + { + Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'athlete de nom 'Brown' et de prénom 'Anna' :"); + Console.WriteLine("---------------------------------"); + foreach (var athlete in db.AthletesSet.Where(a => a.LastName == "Brown" && a.FirstName == "Anna")) + { + Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès au coachs :"); + Console.WriteLine("---------------------------------"); + foreach (var athlete in db.AthletesSet.Where(a => a.IsCoach == true)) + { + Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); + } + + Console.WriteLine("---------------------------------\n"); + } + + static void ActivityTests(LibraryContext db) + { + Console.WriteLine("Accès à toutes les activités :"); + + Console.WriteLine("Activités :"); + Console.WriteLine("---------------------------------"); + + foreach (var activity in db.ActivitiesSet) + { + Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'activité d'id '2' :"); + Console.WriteLine("---------------------------------"); + + foreach (var activity in db.ActivitiesSet.Where(a => a.IdActivity == 2)) + { + Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'activité de type 'Running' :"); + Console.WriteLine("---------------------------------"); + + foreach (var activity in db.ActivitiesSet.Where(a => a.Type == "Running")) + { + Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'activité de date '10/01/2023' :"); + Console.WriteLine("---------------------------------"); + + foreach (var activity in db.ActivitiesSet.Where(a => a.Date == new DateOnly(2023, 01, 10))) + { + Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'activité de temps '13:00:34' :"); + Console.WriteLine("---------------------------------"); + + foreach (var activity in db.ActivitiesSet.Where(a => a.StartTime == new TimeOnly(13, 00, 34))) + { + Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'activité de temps '13:00:34' et de type 'Running' :"); + Console.WriteLine("---------------------------------"); + + foreach (var activity in db.ActivitiesSet.Where(a => a.StartTime == new TimeOnly(13, 00, 34) && a.Type == "Running")) + { + Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'activité de temps '13:00:34' et de type 'Running' et de date '10/01/2023' :"); + Console.WriteLine("---------------------------------"); + + foreach (var activity in db.ActivitiesSet.Where(a => a.StartTime == new TimeOnly(13, 00, 34) && a.Type == "Running" && a.Date == new DateOnly(2023, 01, 10))) + { + Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'activité de temps '13:00:34' et de type 'Running' et de date '10/01/2023' et de temps de fin '14:00:22' :"); + Console.WriteLine("---------------------------------"); + + foreach (var activity in db.ActivitiesSet.Where(a => a.StartTime == new TimeOnly(13, 00, 34) && a.Type == "Running" && a.Date == new DateOnly(2023, 01, 10) && a.EndTime == new TimeOnly(14, 00, 22))) + { + Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'activité de temps '13:00:34' et de type 'Running' et de date '10/01/2023' et de temps de fin '14:00:22' et de ressenti d'effort '5' :"); + Console.WriteLine("---------------------------------"); + + foreach (var activity in db.ActivitiesSet.Where(a => a.StartTime == new TimeOnly(13, 00, 34) && a.Type == "Running" && a.Date == new DateOnly(2023, 01, 10) && a.EndTime == new TimeOnly(14, 00, 22) && a.EffortFelt == 5)) + { + Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'activité de temps '13:00:34' et de type 'Running' et de date '10/01/2023' et de temps de fin '14:00:22' et de ressenti d'effort '5' et de variabilité '0.5' :"); + Console.WriteLine("---------------------------------"); + + foreach (var activity in db.ActivitiesSet.Where(a => a.StartTime == new TimeOnly(13, 00, 34) && a.Type == "Running" && a.Date == new DateOnly(2023, 01, 10) && a.EndTime == new TimeOnly(14, 00, 22) && a.EffortFelt == 5 && a.Variability == 0.5F)) + { + Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'activité de temps '13:00:34' et de type 'Running' et de date '10/01/2023' et de temps de fin '14:00:22' et de ressenti d'effort '5' et de variabilité '0.5' et de variance '0.5' :"); + Console.WriteLine("---------------------------------"); + + foreach (var activity in db.ActivitiesSet.Where(a => a.StartTime == new TimeOnly(13, 00, 34) && a.Type == "Running" && a.Date == new DateOnly(2023, 01, 10) && a.EndTime == new TimeOnly(14, 00, 22) && a.EffortFelt == 5 && a.Variability == 0.5F && a.Variance == 0.5F)) + { + Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); + } + + Console.WriteLine("---------------------------------\n"); + } + + static void DataSourceTests(LibraryContext db) + { + Console.WriteLine("Accès à toutes les sources de données :"); + + Console.WriteLine("Sources de données :"); + Console.WriteLine("---------------------------------"); + + foreach (var dataSource in db.DataSourcesSet) + { + Console.WriteLine($"\t{dataSource.IdSource} - {dataSource.Type}, {dataSource.Model}, {dataSource.Precision}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la source de données d'id '2' :"); + Console.WriteLine("---------------------------------"); + + foreach (var dataSource in db.DataSourcesSet.Where(d => d.IdSource == 2)) + { + Console.WriteLine($"\t{dataSource.IdSource} - {dataSource.Type}, {dataSource.Model}, {dataSource.Precision}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la source de données de type 'Smartwatch' :"); + Console.WriteLine("---------------------------------"); + + foreach (var dataSource in db.DataSourcesSet.Where(d => d.Type == "Smartwatch")) + { + Console.WriteLine($"\t{dataSource.IdSource} - {dataSource.Type}, {dataSource.Model}, {dataSource.Precision}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la source de données de modèle 'Garmin' :"); + Console.WriteLine("---------------------------------"); + + foreach (var dataSource in db.DataSourcesSet.Where(d => d.Model == "Garmin")) + { + Console.WriteLine($"\t{dataSource.IdSource} - {dataSource.Type}, {dataSource.Model}, {dataSource.Precision}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la source de données de précision '0.5' :"); + Console.WriteLine("---------------------------------"); + + foreach (var dataSource in db.DataSourcesSet.Where(d => d.Precision == 0.5f)) + { + Console.WriteLine($"\t{dataSource.IdSource} - {dataSource.Type}, {dataSource.Model}, {dataSource.Precision}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la source de données de type 'Smartwatch' et de modèle 'Garmin' :"); + Console.WriteLine("---------------------------------"); + + foreach (var dataSource in db.DataSourcesSet.Where(d => d.Type == "Smartwatch" && d.Model == "Garmin")) + { + Console.WriteLine($"\t{dataSource.IdSource} - {dataSource.Type}, {dataSource.Model}, {dataSource.Precision}"); + } + + Console.WriteLine("---------------------------------\n"); + } + + static void HeartRateTests(LibraryContext db) + { + Console.WriteLine("Accès à toutes les fréquences cardiaques :"); + + Console.WriteLine("Fréquences cardiaques :"); + Console.WriteLine("---------------------------------"); + + foreach (var heartRate in db.HeartRatesSet) + { + Console.WriteLine($"\t{heartRate.IdHeartRate} - {heartRate.Altitude}, {heartRate.Time}, {heartRate.Temperature}, {heartRate.Bpm}, {heartRate.Longitude}, {heartRate.Latitude}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la fréquence cardiaque d'id '2' :"); + Console.WriteLine("---------------------------------"); + + foreach (var heartRate in db.HeartRatesSet.Where(h => h.IdHeartRate == 2)) + { + Console.WriteLine($"\t{heartRate.IdHeartRate} - {heartRate.Altitude}, {heartRate.Time}, {heartRate.Temperature}, {heartRate.Bpm}, {heartRate.Longitude}, {heartRate.Latitude}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la fréquence cardiaque d'altitude '10' :"); + Console.WriteLine("---------------------------------"); + + foreach (var heartRate in db.HeartRatesSet.Where(h => h.Altitude == 10)) + { + Console.WriteLine($"\t{heartRate.IdHeartRate} - {heartRate.Altitude}, {heartRate.Time}, {heartRate.Temperature}, {heartRate.Bpm}, {heartRate.Longitude}, {heartRate.Latitude}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la fréquence cardiaque de température '20.5' :"); + Console.WriteLine("---------------------------------"); + + foreach (var heartRate in db.HeartRatesSet.Where(h => h.Temperature == 20.5f)) + { + Console.WriteLine($"\t{heartRate.IdHeartRate} - {heartRate.Altitude}, {heartRate.Time}, {heartRate.Temperature}, {heartRate.Bpm}, {heartRate.Longitude}, {heartRate.Latitude}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la fréquence cardiaque de bpm '65' :"); + Console.WriteLine("---------------------------------"); + + foreach (var heartRate in db.HeartRatesSet.Where(h => h.Bpm == 65)) + { + Console.WriteLine($"\t{heartRate.IdHeartRate} - {heartRate.Altitude}, {heartRate.Time}, {heartRate.Temperature}, {heartRate.Bpm}, {heartRate.Longitude}, {heartRate.Latitude}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la fréquence cardiaque de longitude '35' :"); + Console.WriteLine("---------------------------------"); + + foreach (var heartRate in db.HeartRatesSet.Where(h => h.Longitude == 35)) + { + Console.WriteLine($"\t{heartRate.IdHeartRate} - {heartRate.Altitude}, {heartRate.Time}, {heartRate.Temperature}, {heartRate.Bpm}, {heartRate.Longitude}, {heartRate.Latitude}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la fréquence cardiaque de latitude '66' :"); + Console.WriteLine("---------------------------------"); + + foreach (var heartRate in db.HeartRatesSet.Where(h => h.Latitude == 66)) + { + Console.WriteLine($"\t{heartRate.IdHeartRate} - {heartRate.Altitude}, {heartRate.Time}, {heartRate.Temperature}, {heartRate.Bpm}, {heartRate.Longitude}, {heartRate.Latitude}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la fréquence cardiaque d'altitude '10' et de température '20.5' :"); + Console.WriteLine("---------------------------------"); + + foreach (var heartRate in db.HeartRatesSet.Where(h => h.Altitude == 10 && h.Temperature == 20.5f)) + { + Console.WriteLine($"\t{heartRate.IdHeartRate} - {heartRate.Altitude}, {heartRate.Time}, {heartRate.Temperature}, {heartRate.Bpm}, {heartRate.Longitude}, {heartRate.Latitude}"); + } + + Console.WriteLine("---------------------------------\n"); + } + + static void NotificationTests(LibraryContext db) + { + Console.WriteLine("Accès à toutes les notifications :"); + + Console.WriteLine("Notifications :"); + Console.WriteLine("---------------------------------"); + + foreach (var notification in db.NotificationsSet) + { + Console.WriteLine($"\t{notification.IdNotif} - {notification.Message}, {notification.Date}, {notification.Statut}, {notification.Urgence}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la notification d'id '2' :"); + Console.WriteLine("---------------------------------"); + + foreach (var notification in db.NotificationsSet.Where(n => n.IdNotif == 2)) + { + Console.WriteLine($"\t{notification.IdNotif} - {notification.Message}, {notification.Date}, {notification.Statut}, {notification.Urgence}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la notification de message 'You have a new activity to check' :"); + Console.WriteLine("---------------------------------"); + + foreach (var notification in db.NotificationsSet.Where(n => n.Message == "You have a new activity to check")) + { + Console.WriteLine($"\t{notification.IdNotif} - {notification.Message}, {notification.Date}, {notification.Statut}, {notification.Urgence}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la notification de date '25/12/2023' :"); + Console.WriteLine("---------------------------------"); + + foreach (var notification in db.NotificationsSet.Where(n => n.Date == new DateTime(2023, 12, 25, 13, 00, 40))) + { + Console.WriteLine($"\t{notification.IdNotif} - {notification.Message}, {notification.Date}, {notification.Statut}, {notification.Urgence}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la notification de statut 'true' :"); + Console.WriteLine("---------------------------------"); + + foreach (var notification in db.NotificationsSet.Where(n => n.Statut == true)) + { + Console.WriteLine($"\t{notification.IdNotif} - {notification.Message}, {notification.Date}, {notification.Statut}, {notification.Urgence}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la notification d'urgence 'A' :"); + Console.WriteLine("---------------------------------"); + + foreach (var notification in db.NotificationsSet.Where(n => n.Urgence == "A")) + { + Console.WriteLine($"\t{notification.IdNotif} - {notification.Message}, {notification.Date}, {notification.Statut}, {notification.Urgence}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la notification de message 'You have a new activity to check' et de date '25/12/2023' :"); + Console.WriteLine("---------------------------------"); + + foreach (var notification in db.NotificationsSet.Where(n => n.Message == "You have a new activity to check" && n.Date == new DateTime(2023, 12, 25, 13, 00, 40))) + { + Console.WriteLine($"\t{notification.IdNotif} - {notification.Message}, {notification.Date}, {notification.Statut}, {notification.Urgence}"); + } + + Console.WriteLine("---------------------------------\n"); + } + + static void StatisticTests(LibraryContext db) + { + Console.WriteLine("Accès à toutes les statistiques :"); + + Console.WriteLine("Statistiques :"); + Console.WriteLine("---------------------------------"); + + foreach (var statistic in db.StatisticsSet) + { + Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la statistique d'id '2' :"); + Console.WriteLine("---------------------------------"); + + foreach (var statistic in db.StatisticsSet.Where(s => s.IdStatistic == 2)) + { + Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la statistique de poids '60' :"); + Console.WriteLine("---------------------------------"); + + foreach (var statistic in db.StatisticsSet.Where(s => s.Weight == 60)) + { + Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la statistique de fréquence cardiaque moyenne '130' :"); + Console.WriteLine("---------------------------------"); + + foreach (var statistic in db.StatisticsSet.Where(s => s.AverageHeartRate == 130)) + { + Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la statistique de fréquence cardiaque maximale '190' :"); + Console.WriteLine("---------------------------------"); + + foreach (var statistic in db.StatisticsSet.Where(s => s.MaximumHeartRate == 190)) + { + Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la statistique de calories brûlées en moyenne '550' :"); + Console.WriteLine("---------------------------------"); + + foreach (var statistic in db.StatisticsSet.Where(s => s.AverageCaloriesBurned == 550)) + { + Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la statistique de date '30/12/2022' :"); + Console.WriteLine("---------------------------------"); + + foreach (var statistic in db.StatisticsSet.Where(s => s.Date == new DateOnly(2022, 12, 30))) + { + Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la statistique de poids '60' et de fréquence cardiaque moyenne '130' :"); + Console.WriteLine("---------------------------------"); + + foreach (var statistic in db.StatisticsSet.Where(s => s.Weight == 60 && s.AverageHeartRate == 130)) + { + Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la statistique de poids '60' et de fréquence cardiaque moyenne '130' et de fréquence cardiaque maximale '190' :"); + Console.WriteLine("---------------------------------"); + + foreach (var statistic in db.StatisticsSet.Where(s => s.Weight == 60 && s.AverageHeartRate == 130 && s.MaximumHeartRate == 190)) + { + Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la statistique de poids '60' et de fréquence cardiaque moyenne '130' et de fréquence cardiaque maximale '190' et de calories brûlées en moyenne '600' :"); + Console.WriteLine("---------------------------------"); + + foreach (var statistic in db.StatisticsSet.Where(s => s.Weight == 60 && s.AverageHeartRate == 130 && s.MaximumHeartRate == 190 && s.AverageCaloriesBurned == 600)) + { + Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la statistique de poids '60' et de fréquence cardiaque moyenne '130' et de fréquence cardiaque maximale '190' et de calories brûlées en moyenne '600' et de date '11/01/2021' :"); + Console.WriteLine("---------------------------------"); + + foreach (var statistic in db.StatisticsSet.Where(s => s.Weight == 60 && s.AverageHeartRate == 130 && s.MaximumHeartRate == 190 && s.AverageCaloriesBurned == 600 && s.Date == new DateOnly(2021, 01, 11))) + { + Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la statistique de poids '60' et de fréquence cardiaque moyenne '130' et de fréquence cardiaque maximale '190' et de calories brûlées en moyenne '600' et de date '11/01/2021' :"); + Console.WriteLine("---------------------------------"); + + foreach (var statistic in db.StatisticsSet.Where(s => s.Weight == 60 && s.AverageHeartRate == 130 && s.MaximumHeartRate == 190 && s.AverageCaloriesBurned == 600 && s.Date == new DateOnly(2021, 01, 11))) + { + Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à la statistique de poids '60' et de fréquence cardiaque moyenne '130' et de fréquence cardiaque maximale '190' et de calories brûlées en moyenne '600' et de date '11/01/2021' :"); + Console.WriteLine("---------------------------------"); + + foreach (var statistic in db.StatisticsSet.Where(s => s.Weight == 60 && s.AverageHeartRate == 130 && s.MaximumHeartRate == 190 && s.AverageCaloriesBurned == 600 && s.Date == new DateOnly(2021, 01, 11))) + { + Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); + } + + Console.WriteLine("---------------------------------\n"); + } + static void TrainingTests(LibraryContext db) + { + Console.WriteLine("Accès à tout les entrainements :"); + + Console.WriteLine("Entrainements :"); + Console.WriteLine("---------------------------------"); + + foreach (var training in db.TrainingsSet) + { + Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'entrainement d'id '2' :"); + Console.WriteLine("---------------------------------"); + + foreach (var training in db.TrainingsSet.Where(t => t.IdTraining == 2)) + { + Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'entrainement de date '21/02/2024' :"); + Console.WriteLine("---------------------------------"); + + foreach (var training in db.TrainingsSet.Where(t => t.Date == new DateOnly(2024, 02, 21))) + { + Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'entrainement de description 'Running' :"); + Console.WriteLine("---------------------------------"); + + foreach (var training in db.TrainingsSet.Where(t => t.Description == "Running")) + { + Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'entrainement de latitude '48.8566f' :"); + Console.WriteLine("---------------------------------"); + + foreach (var training in db.TrainingsSet.Where(t => t.Latitude == 48.8566f)) + { + Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'entrainement de longitude '2.3522f' :"); + Console.WriteLine("---------------------------------"); + + foreach (var training in db.TrainingsSet.Where(t => t.Longitude == 2.3522f)) + { + Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'entrainement de feedback 'Good' :"); + Console.WriteLine("---------------------------------"); + + foreach (var training in db.TrainingsSet.Where(t => t.FeedBack == "Good")) + { + Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'entrainement de date '20/02/2024' et de description 'Cycling' :"); + Console.WriteLine("---------------------------------"); + + foreach (var training in db.TrainingsSet.Where(t => t.Date == new DateOnly(2024, 02, 20) && t.Description == "Cycling")) + { + Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'entrainement de date '22/02/2024' et de description 'Running' et de latitude '48.8566f' :"); + Console.WriteLine("---------------------------------"); + + foreach (var training in db.TrainingsSet.Where(t => t.Date == new DateOnly(2024, 02, 22) && t.Description == "Running" && t.Latitude == 48.8566f)) + { + Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'entrainement de date '23/02/2024' et de description 'Cycling' et de latitude '48.8566f' et de longitude '2.3522f' :"); + Console.WriteLine("---------------------------------"); + + foreach (var training in db.TrainingsSet.Where(t => t.Date == new DateOnly(2024, 02, 23) && t.Description == "Cycling" && t.Latitude == 48.8566f && t.Longitude == 2.3522f)) + { + Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); + } + + Console.WriteLine("---------------------------------\n"); + + Console.WriteLine("Accès à l'entrainement de date '19/01/2024' et de description 'Running' et de latitude '48.8566f' et de longitude '2.3522f' et de feedback 'Good' :"); + Console.WriteLine("---------------------------------"); + + foreach (var training in db.TrainingsSet.Where(t => t.Date == new DateOnly(2024, 01, 19) && t.Description == "Running" && t.Latitude == 48.8566f && t.Longitude == 2.3522f && t.FeedBack == "Good")) + { + Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); + } + + Console.WriteLine("---------------------------------\n"); + } + + static void AddUpdateDeleteAthlete(LibraryContext db) + { + Console.WriteLine("Test d'ajout, de modification et de suppression des athletes :"); + + // Ajout d'un nouveau livre + var newAthlete = new AthleteEntity { Username = "Doe", LastName = "Doe", FirstName = "John", Email = "essaie.example.com", Password = "TheNewPassword", Sexe = "M", Length = 1.80, Weight = 90, DateOfBirth = new DateOnly(2024, 02, 22), IsCoach = false }; + db.AthletesSet.Add(newAthlete); + db.SaveChanges(); + + // Affichage des livres après ajout + Console.WriteLine("Athlete après ajout :"); + foreach (var athlete in db.AthletesSet) + { + Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); + } + + // Modification du titre du nouveau livre + newAthlete.Email = "email.example@exemple.com"; + db.SaveChanges(); + + // Affichage des livres après modification + Console.WriteLine("Livres après modification :"); + foreach (var athlete in db.AthletesSet) + { + Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); + } + + // Suppression du nouveau livre + db.AthletesSet.Remove(newAthlete); + db.SaveChanges(); + + // Affichage des livres après suppression + Console.WriteLine("Livres après suppression :"); + foreach (var athlete in db.AthletesSet) + { + Console.WriteLine($"\t{athlete.IdAthlete} - {athlete.Username}, {athlete.LastName}, {athlete.FirstName}, {athlete.Email}, {athlete.Sexe}, {athlete.Length}, {athlete.Weight}, {athlete.DateOfBirth}, {athlete.IsCoach}"); + } + } + + static void AddUpdateDeleteActivity(LibraryContext db) + { + Console.WriteLine("Test d'ajout, de modification et de suppression des activités :"); + + var newActivity = new ActivityEntity { Type = "Running", Date = new DateOnly(2022, 02, 22), StartTime = new TimeOnly(12, 01, 38), EndTime = new TimeOnly(13, 45, 58), EffortFelt = 5, Variability = 10, Variance = 20, StandardDeviation = 30, Average = 40, Maximum = 50, Minimum = 60, AverageTemperature = 70, HasAutoPause = false }; + db.ActivitiesSet.Add(newActivity); + db.SaveChanges(); + + Console.WriteLine("Activité après ajout :"); + foreach (var activity in db.ActivitiesSet) + { + Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); + } + + newActivity.Type = "Cycling"; + db.SaveChanges(); + + Console.WriteLine("Activité après modification :"); + foreach (var activity in db.ActivitiesSet) + { + Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); + } + + db.ActivitiesSet.Remove(newActivity); + db.SaveChanges(); + + Console.WriteLine("Activité après suppression :"); + foreach (var activity in db.ActivitiesSet) + { + Console.WriteLine($"\t{activity.IdActivity} - {activity.Type}, {activity.Date}, {activity.StartTime}, {activity.EndTime}, {activity.EffortFelt}, {activity.Variability}, {activity.Variance}, {activity.StandardDeviation}, {activity.Average}, {activity.Maximum}, {activity.Minimum}, {activity.AverageTemperature}, {activity.HasAutoPause}"); + } + + } + + static void AddUpdateDeleteDataSource(LibraryContext db) + { + Console.WriteLine("Test d'ajout, de modification et de suppression des sources de données :"); + + var newDataSource = new DataSourceEntity { Type = "Polar", Model = "Polar Vantage V2", Precision = 0.5F }; + db.DataSourcesSet.Add(newDataSource); + db.SaveChanges(); + + Console.WriteLine("Source de données après ajout :"); + foreach (var dataSource in db.DataSourcesSet) + { + Console.WriteLine($"\t{dataSource.IdSource} - {dataSource.Type}, {dataSource.Model}, {dataSource.Precision}"); + } + + newDataSource.Type = "Garmin"; + db.SaveChanges(); + + Console.WriteLine("Source de données après modification :"); + foreach (var dataSource in db.DataSourcesSet) + { + Console.WriteLine($"\t{dataSource.IdSource} - {dataSource.Type}, {dataSource.Model}, {dataSource.Precision}"); + } + + db.DataSourcesSet.Remove(newDataSource); + db.SaveChanges(); + + Console.WriteLine("Source de données après suppression :"); + foreach (var dataSource in db.DataSourcesSet) + { + Console.WriteLine($"\t{dataSource.IdSource} - {dataSource.Type}, {dataSource.Model}, {dataSource.Precision}"); + } + } + + static void AddUpdateDeleteHeartRate(LibraryContext db) + { + Console.WriteLine("Test d'ajout, de modification et de suppression des fréquences cardiaques :"); + + var newHeartRate = new HeartRateEntity { Altitude = 100, Time = new TimeOnly(12, 00, 00), Temperature = 20, Bpm = 150, Longitude = 0, Latitude = 0 }; + db.HeartRatesSet.Add(newHeartRate); + db.SaveChanges(); + + Console.WriteLine("Fréquence cardiaque après ajout :"); + foreach (var heartRate in db.HeartRatesSet) + { + Console.WriteLine($"\t{heartRate.IdHeartRate} - {heartRate.Altitude}, {heartRate.Time}, {heartRate.Temperature}, {heartRate.Bpm}, {heartRate.Longitude}, {heartRate.Latitude}"); + } + + newHeartRate.Altitude = 200; + db.SaveChanges(); + + Console.WriteLine("Fréquence cardiaque après modification :"); + foreach (var heartRate in db.HeartRatesSet) + { + Console.WriteLine($"\t{heartRate.IdHeartRate} - {heartRate.Altitude}, {heartRate.Time}, {heartRate.Temperature}, {heartRate.Bpm}, {heartRate.Longitude}, {heartRate.Latitude}"); + } + + db.HeartRatesSet.Remove(newHeartRate); + db.SaveChanges(); + + Console.WriteLine("Fréquence cardiaque après suppression :"); + foreach (var heartRate in db.HeartRatesSet) + { + Console.WriteLine($"\t{heartRate.IdHeartRate} - {heartRate.Altitude}, {heartRate.Time}, {heartRate.Temperature}, {heartRate.Bpm}, {heartRate.Longitude}, {heartRate.Latitude}"); + } + } + + static void AddUpdateDeleteNotification(LibraryContext db) + { + Console.WriteLine("Test d'ajout, de modification et de suppression des notifications :"); + + var newNotification = new NotificationEntity { Message = "Message de test", Date = new DateTime(2022, 01, 01), Statut = false, Urgence = "Urgent" }; + db.NotificationsSet.Add(newNotification); + db.SaveChanges(); + + Console.WriteLine("Notification après ajout :"); + foreach (var notification in db.NotificationsSet) + { + Console.WriteLine($"\t{notification.IdNotif} - {notification.Message}, {notification.Date}, {notification.Statut}, {notification.Urgence}"); + } + + newNotification.Message = "Nouveau message de test"; + db.SaveChanges(); + + Console.WriteLine("Notification après modification :"); + foreach (var notification in db.NotificationsSet) + { + Console.WriteLine($"\t{notification.IdNotif} - {notification.Message}, {notification.Date}, {notification.Statut}, {notification.Urgence}"); + } + + db.NotificationsSet.Remove(newNotification); + db.SaveChanges(); + + Console.WriteLine("Notification après suppression :"); + foreach (var notification in db.NotificationsSet) + { + Console.WriteLine($"\t{notification.IdNotif} - {notification.Message}, {notification.Date}, {notification.Statut}, {notification.Urgence}"); + } + } + + static void AddUpdateDeleteStatistic(LibraryContext db) + { + Console.WriteLine("Test d'ajout, de modification et de suppression des statistiques :"); + + var newStatistic = new StatisticEntity { Weight = 80, AverageHeartRate = 150, MaximumHeartRate = 180, AverageCaloriesBurned = 500, Date = new DateOnly(2022, 01, 01) }; + db.StatisticsSet.Add(newStatistic); + db.SaveChanges(); + + Console.WriteLine("Statistique après ajout :"); + foreach (var statistic in db.StatisticsSet) + { + Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); + } + + newStatistic.Weight = 90; + db.SaveChanges(); + + Console.WriteLine("Statistique après modification :"); + foreach (var statistic in db.StatisticsSet) + { + Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); + } + + db.StatisticsSet.Remove(newStatistic); + db.SaveChanges(); + + Console.WriteLine("Statistique après suppression :"); + foreach (var statistic in db.StatisticsSet) + { + Console.WriteLine($"\t{statistic.IdStatistic} - {statistic.Weight}, {statistic.AverageHeartRate}, {statistic.MaximumHeartRate}, {statistic.AverageCaloriesBurned}, {statistic.Date}"); + } + } + + static void AddUpdateDeleteTraining(LibraryContext db) + { + Console.WriteLine("Test d'ajout, de modification et de suppression des entrainements :"); + + var newTraining = new TrainingEntity { Date = new DateOnly(2022, 01, 01), Description = "Entrainement de test", Latitude = 0, Longitude = 0, FeedBack = "Bon entrainement" }; + db.TrainingsSet.Add(newTraining); + db.SaveChanges(); + + Console.WriteLine("Entrainement après ajout :"); + foreach (var training in db.TrainingsSet) + { + Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); + } + + newTraining.Description = "Nouvel entrainement de test"; + db.SaveChanges(); + + Console.WriteLine("Entrainement après modification :"); + foreach (var training in db.TrainingsSet) + { + Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); + } + + db.TrainingsSet.Remove(newTraining); + db.SaveChanges(); + + Console.WriteLine("Entrainement après suppression :"); + foreach (var training in db.TrainingsSet) + { + Console.WriteLine($"\t{training.IdTraining} - {training.Date}, {training.Description}, {training.Latitude}, {training.Longitude}, {training.FeedBack}"); + } + } } \ No newline at end of file