public void Clear() { FemaleVsMaleData?.Clear(); Entries?.Clear(); FemaleVsMaleChart = null; }
private async void Get() { int _maleChildren = 0; int _femaleChildren = 0; var jData = await DataService.Get($"Family/{Preferences.Get("TeamId", "")}"); if (jData == "ConnectionError") { StandardMessagesDisplay.NoConnectionToast(); } else if (jData == "null") { StandardMessagesDisplay.NoDataDisplayMessage(); } else if (jData == "Error") { StandardMessagesDisplay.Error(); } else if (jData == "ErrorTracked") { StandardMessagesDisplay.ErrorTracked(); } else { try { var data = JsonConvert.DeserializeObject <Dictionary <string, FamilyModel> >(jData); if (data != null) { foreach (KeyValuePair <string, FamilyModel> item in data) { var data2 = await DataService.Get($"Child/{item.Value.Id}"); if (data2 == "ConnectionError") { StandardMessagesDisplay.NoConnectionToast(); } else if (data2 == "null") { StandardMessagesDisplay.NoDataDisplayMessage(); } else if (data2 == "Error") { StandardMessagesDisplay.Error(); } else if (data2 == "ErrorTracked") { StandardMessagesDisplay.ErrorTracked(); } else { var nestedData = JsonConvert.DeserializeObject <Dictionary <string, ChildModel> >(data2); if (nestedData != null) { foreach (KeyValuePair <string, ChildModel> item2 in nestedData) { if (item2.Value.Gender == "Female") { _femaleChildren++; } else { _maleChildren++; } } } } } } } catch (Exception ex) { Crashes.TrackError(ex); StandardMessagesDisplay.InputToast(ex.Message); } } FemaleVsMaleData?.Add( new FemaleVsMaleChildModel { Indicator = "Male", Counts = _maleChildren } ); FemaleVsMaleData?.Add( new FemaleVsMaleChildModel { Indicator = "Female", Counts = _femaleChildren } ); if (FemaleVsMaleData != null) { foreach (var item in FemaleVsMaleData) { Random rd = new Random(); int c = rd.Next(1, 42); Entries?.Add(new Entry(item.Counts) { Label = item.Indicator, ValueLabel = item.Counts.ToString(), Color = SKColor.Parse($"#{ColourValues[c]}") }); } } FemaleVsMaleChart = new PieChart() { Entries = Entries }; FemaleVsMaleChart.LabelTextSize = 40; }