Statistiques
| Branche: | Révision:

root / GES_PAC / Model / SerieAnimal.cs @ e837cdf1

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

1 65ad7e66 Lucas Bihannic
2 9fd69a0e lbihannic
using Microsoft.Maui.Layouts;
3
4 65ad7e66 Lucas Bihannic
namespace GES_PAC.Model
5
{
6
    public class SerieAnimal
7
    {
8
        public long Id { get; set; }
9
        public int NumeroBoite { get; set; }
10
        public double Poids { get; set; }
11 ba296a27 lbihannic
        public DateTime DatePesee { get; set; }
12 65ad7e66 Lucas Bihannic
        public string RFID { get; set; }
13
        public List<Mesure> Mesures { get; set; }
14
        public List<Comportement> Comportements { get; set; }
15 9fd69a0e lbihannic
        public bool IsOut { get; set; } = false;
16 ba296a27 lbihannic
17
        public SerieAnimal(int numeroBoite, double poids, DateTime datePesee, string rFID)
18
        {
19
            NumeroBoite = numeroBoite;
20
            Poids = poids;
21
            DatePesee = datePesee;
22
            RFID = rFID;
23
            Mesures = [];
24
            Comportements = [];
25
        }
26 fff89fc5 lbihannic
27
        public int GetMeasureCount()
28
        {
29
            return Mesures.Count();
30
        }
31
32
        internal void AddMeasure(Mesure newMeasure)
33
        {
34
            Mesures.Add(newMeasure);
35
        }
36 1019554c lbihannic
37
        public Mesure GetLastMeasure()
38
        {
39
            return Mesures.Last();
40
        }
41 e837cdf1 lbihannic
        public Mesure GetFirstMeasure()
42
        {
43
            return Mesures.First();
44
        }
45 9fd69a0e lbihannic
46
        public void AddBehaviour(Comportement newBehaviour)
47
        {
48
            Comportements.Add(newBehaviour);
49
        }
50
51
        public bool HasBehaviour()
52
        {
53 e837cdf1 lbihannic
            return Comportements.Count != 0;
54
        }
55
        public string GetTimeInChamber()
56
        {
57
            if (Mesures.Count == 0)
58
                return "";
59
60
            TimeSpan timeInChamber;
61
            if (IsOut)
62
                timeInChamber = GetLastMeasure().Time - GetFirstMeasure().Time;
63
            else
64
                timeInChamber = DateTime.Now - GetFirstMeasure().Time;
65
66
            return $"{timeInChamber.Hours:00}:{timeInChamber.Minutes:00}";
67 9fd69a0e lbihannic
        }
68 65ad7e66 Lucas Bihannic
    }
69
}