Statistiques
| Branche: | Révision:

root / GES_PAC / Model / Journee.cs @ 5d673ce0

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

1

    
2
using System.Diagnostics;
3
using System.Linq;
4

    
5
namespace GES_PAC.Model
6
{
7
    public class Journee
8
    {
9
        #region Propriétés
10
        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
        #endregion
18

    
19
        #region Constructeurs
20
        public Journee(DateTime Date, Personne Responsable, Lieu Lieu, string Regime)
21
        {
22
            this.Responsable = Responsable;
23
            this.Lieu = Lieu;
24
            this.Date = Date;
25
            this.Regime = Regime;
26
            Series = [];
27
            Calibrations = [];
28
        }
29
        #endregion
30

    
31
        #region Méthodes
32

    
33
        public bool AddCalibration(MesureCalibration mesureCalibration)
34
        {
35
            if (Calibrations.Count == 0 || Calibrations.Last().IsComplete())
36
            {
37
                Calibrations.Add(new Calibration(Calibrations.Count == 0 ? PhaseCalibration.Debut : PhaseCalibration.Fin, mesureCalibration));
38
            }
39
            else
40
            {
41
                Calibrations.Last().Mesures.Add(mesureCalibration);
42
                return Calibrations.Last().IsComplete();
43
            }
44
            return false;
45
        }
46

    
47
        public PhaseCalibration GetCurrentPhase()
48
        {
49
            if (Calibrations.Count == 0 || !Calibrations.Last().IsComplete())
50
            {
51
                return PhaseCalibration.Debut;
52
            }
53
            return PhaseCalibration.Fin;
54
        }
55

    
56
        public Calibration GetCurrentCalibration()
57
        {
58
            return Calibrations.FirstOrDefault(c => c.Phase == GetCurrentPhase());
59
        }
60

    
61
        public List<TypeCalibration> GetCurrentMissingCalibration()
62
        {
63
            if (Calibrations.Count == 0 || Calibrations.Last().IsComplete())
64
            {
65
                return TypeCalibration.All;
66
            }
67
            return TypeCalibration.All.Except(Calibrations.Last().GetTypesDone()).ToList();
68
        }
69
        #endregion
70
    }
71
}