Statistiques
| Branche: | Révision:

root / GES_PAC / Model / SerieAnimal.cs @ 42456640

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

1

    
2
using Microsoft.Maui.Layouts;
3

    
4
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
        public DateTime DatePesee { get; set; }
12
        public string RFID { get; set; }
13
        public List<Mesure> Mesures { get; set; }
14
        public List<Comportement> Comportements { get; set; }
15
        public bool IsOut { get; set; } = false;
16

    
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

    
27
        public int GetMeasureCount()
28
        {
29
            return Mesures.Count();
30
        }
31

    
32
        internal void AddMeasure(Mesure newMeasure)
33
        {
34
            Mesures.Add(newMeasure);
35
        }
36

    
37
        public Mesure GetLastMeasure()
38
        {
39
            return Mesures.Last();
40
        }
41
        public Mesure GetFirstMeasure()
42
        {
43
            return Mesures.First();
44
        }
45

    
46
        public void AddBehaviour(Comportement newBehaviour)
47
        {
48
            Comportements.Add(newBehaviour);
49
        }
50

    
51
        public bool HasBehaviour()
52
        {
53
            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
        }
68
    }
69
}