public void DeleteSliceList() => Slices.Clear();
private void UpdateData() { IsBusy = true; Glucose_Data.Clear(); Slices.Clear(); Min = null; Max = null; Average = 0; Nbr_Normal = 0; Nbr_Hight = 0; Nbr_Low = 0; if (type == "All") { foreach (var item in DataStore.GetGlucosAsync().Where(i => i.Date.Date >= Selected_MinDate & i.Date.Date <= Selected_MaxDate)) { Glucose_Data.Add(GlycemiaConverter.Convert(item, Profil.GlycemiaUnit)); } } else { foreach (var item in DataStore.GetGlucosAsync().Where(i => i.Date.Date >= Selected_MinDate & i.Date.Date <= Selected_MaxDate).Where(i => i.Glucose_time == type)) { Glucose_Data.Add(GlycemiaConverter.Convert(item, Profil.GlycemiaUnit)); } } if (Glucose_Data.Count > 0) { Glucose_Data = new ObservableCollection <Glucose_Model>(Glucose_Data.OrderBy(i => i.Date)); Min = Glucose_Data.OrderBy(i => i.Glycemia).First(); Max = Glucose_Data.OrderBy(i => i.Glycemia).Last(); Average = (Profil.GlycemiaUnit == "mg / dL") ? Math.Round((Glucose_Data.Sum(i => i.Glycemia)) / Glucose_Data.Count, 0) : Math.Round((Glucose_Data.Sum(i => i.Glycemia)) / Glucose_Data.Count, 3); Nbr_Normal = (Profil.GlycemiaUnit == "mg / dL") ? Glucose_Data.Where(i => i.Glycemia >= Objectifs.Min_Glycemia & i.Glycemia <= Objectifs.Max_Glycemia).Count() : Glucose_Data.Where(i => i.Glycemia >= GlycemiaConverter.DoubleGlycemiaConvert(Objectifs.Min_Glycemia, Profil.GlycemiaUnit) & i.Glycemia <= GlycemiaConverter.DoubleGlycemiaConvert(Objectifs.Max_Glycemia, Profil.GlycemiaUnit)).Count(); Nbr_Hight = (Profil.GlycemiaUnit == "mg / dL") ? Glucose_Data.Where(i => i.Glycemia > Objectifs.Max_Glycemia).Count() : Glucose_Data.Where(i => i.Glycemia > GlycemiaConverter.DoubleGlycemiaConvert(Objectifs.Max_Glycemia, Profil.GlycemiaUnit)).Count(); Nbr_Low = (Profil.GlycemiaUnit == "mg / dL") ? Glucose_Data.Where(i => i.Glycemia < Objectifs.Min_Glycemia).Count() : Glucose_Data.Where(i => i.Glycemia < GlycemiaConverter.DoubleGlycemiaConvert(Objectifs.Min_Glycemia, Profil.GlycemiaUnit)).Count(); MaximumChart = (Profil.GlycemiaUnit == "mg / dL") ? Convert.ToInt32(Max.Glycemia + 100) : Convert.ToInt32(Max.Glycemia + 10); if (Average < GlycemiaConverter.DoubleGlycemiaConvert(Objectifs.Min_Glycemia, Profil.GlycemiaUnit)) { GlucoseColor = Color.FromHex("#f1c40f"); } if (Average >= GlycemiaConverter.DoubleGlycemiaConvert(Objectifs.Min_Glycemia, Profil.GlycemiaUnit) & Average <= GlycemiaConverter.DoubleGlycemiaConvert(Objectifs.Max_Glycemia, Profil.GlycemiaUnit)) { GlucoseColor = Color.FromHex("#2ecc71"); } if (Average > GlycemiaConverter.DoubleGlycemiaConvert(Objectifs.Max_Glycemia, Profil.GlycemiaUnit)) { GlucoseColor = Color.FromHex("#e74c3c"); } Min_Glycemia = GlycemiaConverter.DoubleGlycemiaConvert(Objectifs.Min_Glycemia, Profil.GlycemiaUnit); Max_Glycemia = GlycemiaConverter.DoubleGlycemiaConvert(Objectifs.Max_Glycemia, Profil.GlycemiaUnit); Max_Widh = MaximumChart - Max_Glycemia; Good_Wigh = Max_Glycemia - Min_Glycemia; } Slices.Add(new Slice_Model { type = "Normal", value = Nbr_Normal }); Slices.Add(new Slice_Model { type = "Elevée", value = Nbr_Hight }); Slices.Add(new Slice_Model { type = "Basse", value = Nbr_Low }); IsBusy = false; }