Révision 12ddf7ef GES_PAC/ViewModel/ChambersViewModel.cs

Voir les différences:

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