Révision 6f451cc1 GES_PAC/Model/Journee.cs
GES_PAC/Model/Journee.cs | ||
---|---|---|
1 |
using SQLite; |
|
2 |
using System.ComponentModel.DataAnnotations.Schema; |
|
3 |
|
|
1 | 4 |
namespace GES_PAC.Model |
2 | 5 |
{ |
3 | 6 |
public class Journee |
4 | 7 |
{ |
5 | 8 |
#region Propriétés |
9 |
[PrimaryKey, AutoIncrement] |
|
10 |
public int Id { get; set; } |
|
11 |
public int PersonneId { get; set; } |
|
12 |
[ForeignKey("PersonneId")] |
|
6 | 13 |
public Personne Responsable { get; set; } |
14 |
public int LieuId { get; set; } |
|
15 |
[ForeignKey("LieuId")] |
|
7 | 16 |
public Lieu Lieu { get; set; } |
8 |
public long Id { get; set; } |
|
9 | 17 |
public DateTime Date { get; set; } |
10 | 18 |
public string Regime { get; set; } |
11 |
public List<Serie> Series { get; set; } |
|
12 |
public List<Calibration> Calibrations { get; set; } |
|
19 |
public List<Serie> Series { get; set; } = [];
|
|
20 |
public List<Calibration> Calibrations { get; set; } = [];
|
|
13 | 21 |
#endregion |
14 | 22 |
|
15 | 23 |
#region Constructeurs |
24 |
public Journee(){} |
|
16 | 25 |
public Journee(DateTime Date, Personne Responsable, Lieu Lieu, string Regime) |
17 | 26 |
{ |
18 | 27 |
this.Responsable = Responsable; |
... | ... | |
25 | 34 |
#endregion |
26 | 35 |
|
27 | 36 |
#region Méthodes |
28 |
public bool AddCalibration(MesureCalibration mesureCalibration, PhaseCalibration phaseCalibration) |
|
29 |
{ |
|
30 |
var existing = Calibrations.FirstOrDefault(c => c.Phase == phaseCalibration); |
|
31 |
|
|
32 |
if (existing == null) |
|
33 |
{ |
|
34 |
Calibrations.Add(new Calibration(phaseCalibration, mesureCalibration)); |
|
35 |
return false; |
|
36 |
} |
|
37 |
|
|
38 |
existing.AddMesure(mesureCalibration); |
|
39 |
return existing.IsComplete(); |
|
40 |
} |
|
41 | 37 |
|
42 | 38 |
public void AddSet(Serie set) |
43 | 39 |
{ |
40 |
set.Journee = this; |
|
44 | 41 |
Series.Add(set); |
45 | 42 |
} |
46 |
|
|
47 |
public PhaseCalibration GetCurrentPhase() |
|
43 |
public List<TypeCalibration> GetMissingCalibrationByPhase(PhaseCalibration phase) |
|
48 | 44 |
{ |
49 |
if (Series.Count == 0) |
|
50 |
{ |
|
51 |
return PhaseCalibration.DEBUT; |
|
52 |
} |
|
53 |
return PhaseCalibration.FIN; |
|
54 |
} |
|
45 |
if (phase == null) |
|
46 |
return TypeCalibration.All; |
|
55 | 47 |
|
56 |
public Calibration GetCurrentCalibration() |
|
57 |
{ |
|
58 |
return Calibrations.FirstOrDefault(c => c.Phase == GetCurrentPhase()); |
|
59 |
} |
|
48 |
var calibPhase = Calibrations.FirstOrDefault(c => c.Phase == phase); |
|
60 | 49 |
|
61 |
public List<TypeCalibration> GetCurrentMissingCalibration() |
|
62 |
{ |
|
63 |
if (Calibrations.Count == 0 || Calibrations.Last().IsComplete()) |
|
64 |
{ |
|
50 |
if (calibPhase == null || calibPhase.IsComplete()) |
|
65 | 51 |
return TypeCalibration.All; |
66 |
} |
|
67 |
return TypeCalibration.All.Except(Calibrations.Last().GetTypesDone()).ToList();
|
|
52 |
|
|
53 |
return TypeCalibration.All.Except(calibPhase.GetTypesDone()).ToList();
|
|
68 | 54 |
} |
69 |
|
|
70 |
public Serie GetCurrentSet() |
|
55 |
|
|
56 |
|
|
57 |
public Serie? GetCurrentSet() |
|
71 | 58 |
{ |
72 |
return Series.LastOrDefault(); |
|
59 |
return Series?.LastOrDefault();
|
|
73 | 60 |
} |
74 | 61 |
public bool HasAnySet() |
75 | 62 |
{ |
... | ... | |
99 | 86 |
} |
100 | 87 |
internal Calibration GetDebutCalibration() |
101 | 88 |
{ |
102 |
return Calibrations.FirstOrDefault(c => c.Phase == PhaseCalibration.DEBUT);
|
|
89 |
return Calibrations.FirstOrDefault(c => c.Phase?.Value == PhaseCalibration.DEBUT.Value);
|
|
103 | 90 |
} |
104 | 91 |
internal bool IsCalibrationComplete(PhaseCalibration pc) |
105 | 92 |
{ |
106 |
return Calibrations.FirstOrDefault(c => c.Phase == pc)?.IsComplete() ?? false; |
|
93 |
return Calibrations?.FirstOrDefault(c => c.Phase == pc)?.IsComplete() ?? false;
|
|
107 | 94 |
} |
108 | 95 |
internal bool IsComplete() |
109 | 96 |
{ |
110 |
return Calibrations.FirstOrDefault(c => c.Phase == PhaseCalibration.FIN)?.IsComplete() ?? false; |
|
97 |
return Calibrations?.FirstOrDefault(c => c.Phase == PhaseCalibration.FIN)?.IsComplete() ?? false; |
|
98 |
} |
|
99 |
|
|
100 |
internal void AddCalibration(Calibration calibration) |
|
101 |
{ |
|
102 |
calibration.Journee = this; |
|
103 |
Calibrations.Add(calibration); |
|
111 | 104 |
} |
112 | 105 |
#endregion |
113 | 106 |
} |
Formats disponibles : Unified diff