Statistiques
| Branche: | Révision:

root / GES_PAC / Model / Journee.cs @ 4e39035b

Historique | Voir | Annoter | Télécharger (2,298 ko)

1 65ad7e66 Lucas Bihannic
2 5d673ce0 Lucas Bihannic
using System.Diagnostics;
3
using System.Linq;
4
5 65ad7e66 Lucas Bihannic
namespace GES_PAC.Model
6
{
7
    public class Journee
8
    {
9 5d673ce0 Lucas Bihannic
        #region Propriétés
10 65ad7e66 Lucas Bihannic
        public Personne Responsable { get; set; }
11
        public Lieu Lieu { get; set; }
12
        public long Id { get; set; }
13
        public DateTime Date { get; set; }
14
        public string Regime { get; set; }
15
        public List<Serie> Series { get; set; }
16
        public List<Calibration> Calibrations { get; set; }
17 5d673ce0 Lucas Bihannic
        #endregion
18
19
        #region Constructeurs
20
        public Journee(DateTime Date, Personne Responsable, Lieu Lieu, string Regime)
21 65ad7e66 Lucas Bihannic
        {
22
            this.Responsable = Responsable;
23
            this.Lieu = Lieu;
24
            this.Date = Date;
25
            this.Regime = Regime;
26 5d673ce0 Lucas Bihannic
            Series = [];
27
            Calibrations = [];
28
        }
29
        #endregion
30
31
        #region Méthodes
32
33 09d4a0de lbihannic
        public bool AddCalibration(MesureCalibration mesureCalibration, PhaseCalibration phaseCalibration)
34 5d673ce0 Lucas Bihannic
        {
35 09d4a0de lbihannic
            var existing = Calibrations.FirstOrDefault(c => c.Phase == phaseCalibration);
36
37
            if (existing == null)
38 5d673ce0 Lucas Bihannic
            {
39 09d4a0de lbihannic
                Calibrations.Add(new Calibration(phaseCalibration, mesureCalibration));
40
                return false;
41 5d673ce0 Lucas Bihannic
            }
42 09d4a0de lbihannic
43
            existing.AddMesure(mesureCalibration);
44
            return existing.IsComplete();
45
        }
46
47 12ddf7ef lbihannic
        public void AddSet(Serie set)
48 09d4a0de lbihannic
        {
49
            Series.Add(set);
50 5d673ce0 Lucas Bihannic
        }
51
52
        public PhaseCalibration GetCurrentPhase()
53
        {
54 09d4a0de lbihannic
            if (Series.Count == 0)
55 5d673ce0 Lucas Bihannic
            {
56
                return PhaseCalibration.Debut;
57
            }
58
            return PhaseCalibration.Fin;
59
        }
60
61
        public Calibration GetCurrentCalibration()
62
        {
63
            return Calibrations.FirstOrDefault(c => c.Phase == GetCurrentPhase());
64
        }
65
66
        public List<TypeCalibration> GetCurrentMissingCalibration()
67
        {
68
            if (Calibrations.Count == 0 || Calibrations.Last().IsComplete())
69
            {
70
                return TypeCalibration.All;
71
            }
72
            return TypeCalibration.All.Except(Calibrations.Last().GetTypesDone()).ToList();
73 65ad7e66 Lucas Bihannic
        }
74 ba296a27 lbihannic
        
75
        public Serie GetCurrentSet()
76
        {
77
            return Series.Last();
78
        }
79 4e39035b lbihannic
        public bool HasAnySet()
80
        {
81
            return Series.Count > 0;
82
        }
83 5d673ce0 Lucas Bihannic
        #endregion
84 65ad7e66 Lucas Bihannic
    }
85
}