public async void UpdateGraphView() { List <String> diseaseListRepeatedValues = new List <string>(); List <String> allergyListRepeatedValues = new List <string>(); List <String> addictionListRepeatedValues = new List <string>(); List <String> vaccinationListRepeatedValues = new List <string>(); List <String> operationListRepeatedValues = new List <string>(); List <String> cityListRepeatedValues = new List <string>(); Sex.Clear(); City.Clear(); Blood.Clear(); Married.Clear(); Addiction.Clear(); Allergy.Clear(); Operation.Clear(); Vaccine.Clear(); Disease.Clear(); foreach (var i in resultList) { diseaseListRepeatedValues.AddRange(i.Diseases.Values.ToList()); allergyListRepeatedValues.AddRange(i.Allergy); operationListRepeatedValues.AddRange(i.Operation); addictionListRepeatedValues.AddRange(i.Addiction); vaccinationListRepeatedValues.AddRange(i.Vaccines.Values.ToList()); cityListRepeatedValues.Add(i.City); } //displaying sex pie chart int x = resultList.Count(i => i.Sex == 'M'); window = CoreWindow.GetForCurrentThread(); window.Dispatcher.RunAsync(CoreDispatcherPriority.Low, delegate { if (resultList.Count() != 0) { Sex.Add(new TestClass() { Category = "Male", Number = (int)Math.Round((double)x * 100 / resultList.Count()) }); Sex.Add(new TestClass() { Category = "Female", Number = (int)Math.Round((double)100 * (resultList.Count() - x) / resultList.Count()) }); } else { sexGraph.ChartSubTitle = "No results found"; } }); //display married pie chart int y = resultList.Count(i => i.Married == true); window.Dispatcher.RunAsync(CoreDispatcherPriority.Low, delegate { if (resultList.Count() != 0) { Married.Add(new TestClass() { Category = "Married", Number = (int)Math.Round((double)y * 100 / resultList.Count()) }); Married.Add(new TestClass() { Category = "Unmarried", Number = (int)Math.Round(((double)resultList.Count() - y) * 100 / resultList.Count()) }); } else { marriedGraph.ChartSubTitle = "No results found"; } }); window.Dispatcher.RunAsync(CoreDispatcherPriority.Low, delegate { //display cities graph foreach (var i in cityListRepeatedValues.Distinct()) { City.Add(new TestClass() { Category = i, Number = cityListRepeatedValues.Count(j => j.Equals(i)) }); } if (City.Count == 0) { cityGraph.ChartSubTitle = "No results found"; } }); window.Dispatcher.RunAsync(CoreDispatcherPriority.Low, delegate { //display blood group chart List <String> bloodgrp = new List <string>(); foreach (var i in resultList) { bloodgrp.Add(i.BloodGroup); } foreach (var i in bloodgrp.Distinct()) { Blood.Add(new TestClass() { Category = i.ToString(), Number = resultList.Count(j => j.BloodGroup.Equals(i.ToString())) }); } if (Blood.Count == 0) { bloodGraph.ChartSubTitle = "No results found"; } }); window.Dispatcher.RunAsync(CoreDispatcherPriority.Low, delegate { //display disease graph foreach (var i in diseaseListRepeatedValues.Distinct()) { Disease.Add(new TestClass() { Category = i.ToString(), Number = diseaseListRepeatedValues.Count(j => j.Equals(i)) }); } if (Disease.Count == 0) { diseaseGraph.ChartSubTitle = "No diseases found"; } }); window.Dispatcher.RunAsync(CoreDispatcherPriority.Low, delegate { //display addictions graph foreach (var i in addictionListRepeatedValues.Distinct()) { Addiction.Add(new TestClass() { Category = i.ToString(), Number = addictionListRepeatedValues.Count(j => j.Equals(i)) }); } if (Addiction.Count == 0) { addictionGraph.ChartSubTitle = "No addictions found"; } }); window.Dispatcher.RunAsync(CoreDispatcherPriority.Low, delegate { //display addictions graph //display operations graph foreach (var i in operationListRepeatedValues.Distinct()) { Operation.Add(new TestClass() { Category = i.ToString(), Number = operationListRepeatedValues.Count(j => j.Equals(i.ToString())) }); } if (Operation.Count == 0) { operationGraph.ChartSubTitle = "No operations found"; } }); window.Dispatcher.RunAsync(CoreDispatcherPriority.Low, delegate { foreach (var i in allergyListRepeatedValues.Distinct()) { Allergy.Add(new TestClass() { Category = i.ToString(), Number = allergyListRepeatedValues.Count(j => j.Equals(i.ToString())) }); } if (Allergy.Count == 0) { allergyGraph.ChartSubTitle = "No allergies found"; } }); window.Dispatcher.RunAsync(CoreDispatcherPriority.Low, delegate { //display vaccine graph foreach (var i in vaccinationListRepeatedValues.Distinct()) { Vaccine.Add(new TestClass() { Category = i.ToString(), Number = vaccinationListRepeatedValues.Count(j => j.Equals(i.ToString())) }); } if (Vaccine.Count == 0) { vaccineGraph.ChartSubTitle = "No vaccinations found"; } }); }