Statistiques
| Branche: | Révision:

root / GES_PAC / Model / Serie.cs @ 612877b5

Historique | Voir | Annoter | Télécharger (1,872 ko)

1 65ad7e66 Lucas Bihannic
2
namespace GES_PAC.Model
3
{
4
    public class Serie
5
    {
6 ba296a27 lbihannic
        #region Propriétés
7 65ad7e66 Lucas Bihannic
        public long Id { get; set; }
8
        public DateTime Time { get; set; }
9
        public DateTime MiseAJeun { get; set; }
10
        public double Temperature { get; set; }
11
        public double Humidite { get; set; }
12
        public double Pression { get; set; }
13 1019554c lbihannic
        public List<SerieAnimal> SeriesAnimales { get; set; } = [];
14 ba296a27 lbihannic
        #endregion
15 09d4a0de lbihannic
16 ba296a27 lbihannic
        #region Constructeurs
17 09d4a0de lbihannic
        public Serie(DateTime Time, DateTime MiseAJeun, double Temperature, double Humidite, double Pression)
18
        {
19
            this.Time = Time;
20
            this.MiseAJeun = MiseAJeun;
21
            this.Temperature = Temperature;
22
            this.Humidite = Humidite;
23
            this.Pression = Pression;
24
            SeriesAnimales = [];
25
        }
26 ba296a27 lbihannic
        #endregion
27
28
        #region Méthodes
29
        public void AddSerieAnimal(SerieAnimal serieAnimal)
30
        {
31 1019554c lbihannic
            var existing = SeriesAnimales.FirstOrDefault(s => s.NumeroBoite == serieAnimal.NumeroBoite);
32
            if (existing != null)
33
                SeriesAnimales.Remove(existing);
34 ba296a27 lbihannic
            SeriesAnimales.Add(serieAnimal);
35
        }
36 fff89fc5 lbihannic
37
        public Dictionary<int, int> GetMeasureNumber()
38
        {
39
            return SeriesAnimales.ToDictionary(sa => sa.NumeroBoite, sa => sa.GetMeasureCount());
40
        }
41
42 1019554c lbihannic
        public Mesure? GetLastMeasureByNumeroBoite(int numeroBoite)
43
        {
44
            var serieAnimal = SeriesAnimales.FirstOrDefault(sa => sa.NumeroBoite == numeroBoite);
45
            if (serieAnimal == null || !serieAnimal.Mesures.Any())
46
                return null;
47
            return serieAnimal.GetLastMeasure();
48
        }
49
50 fff89fc5 lbihannic
        internal void AddMeasure(Mesure newMeasure, int numBoite)
51
        {
52
            SeriesAnimales.Select(sa => sa).Where(sa => sa.NumeroBoite == numBoite).First().AddMeasure(newMeasure);
53
        }
54 ba296a27 lbihannic
        #endregion
55 65ad7e66 Lucas Bihannic
    }
56
}