Révision 12ddf7ef GES_PAC/ViewModel/ChambersViewModel.cs
GES_PAC/ViewModel/ChambersViewModel.cs | ||
---|---|---|
1 | 1 |
using GES_PAC.Model; |
2 |
using GES_PAC.View; |
|
3 |
using System.Collections.ObjectModel; |
|
4 | 2 |
using System.Windows.Input; |
5 | 3 |
|
6 | 4 |
namespace GES_PAC.ViewModel |
... | ... | |
13 | 11 |
#endregion |
14 | 12 |
|
15 | 13 |
#region Commandes |
16 |
public ICommand OnClickChamberCommand { get; }
|
|
14 |
public ICommand TerminateSetCommand { get; }
|
|
17 | 15 |
#endregion |
18 | 16 |
|
19 | 17 |
#region Propriétés |
20 |
public ObservableCollection<Color> ChamberColors { get; set; } = []; |
|
21 |
public ObservableCollection<int> ChamberNumbers { get; set; } = []; |
|
22 |
public ObservableCollection<bool> ChamberIsIn { get; set; } = []; |
|
23 | 18 |
public Serie CurrentSet { get; set; } |
24 | 19 |
|
25 | 20 |
#endregion |
... | ... | |
27 | 22 |
#region Constructeurs |
28 | 23 |
public ChambersViewModel() |
29 | 24 |
{ |
30 |
//ONLY FOR TESTS |
|
31 |
var date = DateTime.Now; |
|
32 |
var newDay = new Journee(date, PersonViewModel.Instance.Persons[0], PlaceViewModel.Instance.Places[0], ""); |
|
33 |
newDay.AddSerie(new Serie(date, date, 25, 25, 25)); |
|
34 |
newDay.GetCurrentSet().AddSerieAnimal(new SerieAnimal(1, 500, date, "")); |
|
35 |
newDay.GetCurrentSet().AddMeasure(new Mesure(date, 50, 50, 50), 1); |
|
36 |
JourneeViewModel.Instance.Journees.Add(newDay); |
|
37 |
//ONLY FOR TESTS |
|
38 |
|
|
39 | 25 |
CurrentSet = JourneeViewModel.Instance.GetCurrentSet(); |
40 |
UpdateChamberDatas(); |
|
41 |
|
|
42 |
OnClickChamberCommand = new Command<string>(async (idStr) => |
|
43 |
{ |
|
44 |
int id = int.Parse(idStr); |
|
45 |
await GoToEnterAnimal(id); |
|
46 |
}); |
|
47 | 26 |
} |
48 | 27 |
#endregion |
49 | 28 |
|
50 | 29 |
#region Méthodes |
51 |
private async Task GoToEnterAnimal(int id) |
|
52 |
{ |
|
53 |
if (IsBusy) return; |
|
54 |
IsBusy = true; |
|
55 |
|
|
56 |
if (CurrentSet.GetMeasureNumberByNumeroBoite(id) == 0) |
|
57 |
await Shell.Current.GoToAsync($"{nameof(EnterAnimalView)}?chamberId={id}"); |
|
58 |
else |
|
59 |
await Shell.Current.GoToAsync($"{nameof(CreateMeasureView)}?chamberId={id}"); |
|
60 |
|
|
61 |
IsBusy = false; |
|
62 |
} |
|
63 |
|
|
64 |
private void UpdateChamberDatas() |
|
65 |
{ |
|
66 |
ChamberIsIn = JourneeViewModel.Instance.GetCurrentSet().GetIsOutDatas(); |
|
67 |
for (int i = 1; i <= 12; i++) |
|
68 |
{ |
|
69 |
bool hasBehaviour = CurrentSet.GetHasBehaviourByNumeroBoite(i); |
|
70 |
int count = CurrentSet.GetMeasureNumberByNumeroBoite(i); |
|
71 |
if (hasBehaviour) |
|
72 |
ChamberColors.Add(Colors.Yellow); |
|
73 |
else |
|
74 |
ChamberColors.Add(count > 0 ? Colors.LightGreen : Colors.White); |
|
75 |
ChamberNumbers.Add(count); |
|
76 |
} |
|
77 |
} |
|
30 |
|
|
78 | 31 |
#endregion |
79 | 32 |
} |
80 | 33 |
} |
Formats disponibles : Unified diff