Statistiques
| Branche: | Révision:

root / GES_PAC / Model / Serie.cs @ 1019554c

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

1

    
2
namespace GES_PAC.Model
3
{
4
    public class Serie
5
    {
6
        #region Propriétés
7
        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
        public List<SerieAnimal> SeriesAnimales { get; set; } = [];
14
        #endregion
15

    
16
        #region Constructeurs
17
        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
        #endregion
27

    
28
        #region Méthodes
29
        public void AddSerieAnimal(SerieAnimal serieAnimal)
30
        {
31
            var existing = SeriesAnimales.FirstOrDefault(s => s.NumeroBoite == serieAnimal.NumeroBoite);
32
            if (existing != null)
33
                SeriesAnimales.Remove(existing);
34
            SeriesAnimales.Add(serieAnimal);
35
        }
36

    
37
        public Dictionary<int, int> GetMeasureNumber()
38
        {
39
            return SeriesAnimales.ToDictionary(sa => sa.NumeroBoite, sa => sa.GetMeasureCount());
40
        }
41

    
42
        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
        internal void AddMeasure(Mesure newMeasure, int numBoite)
51
        {
52
            SeriesAnimales.Select(sa => sa).Where(sa => sa.NumeroBoite == numBoite).First().AddMeasure(newMeasure);
53
        }
54
        #endregion
55
    }
56
}