private async void GetChart(object sender, EventArgs e) { float maxTemperature = float.MinValue; // max is 0.000 float minTemperature = float.MaxValue; // min is Highest value of float if (first) { ApiService service = new ApiService(); var temperatureValues = await service.GetTemperatureValues(); foreach (var value in temperatureValues) { Data.Add(value); } GetChartData getChartData = new GetChartData(); listEntry1.Clear(); try { getChartData.DisplayChart(Data, listEntry1); //List<Entry> SortedList = listEntry1.OrderBy(o => o.Value).ToList(); Chart1.Chart = new LineChart { //Entries = SortedList, Entries = listEntry1, LineMode = LineMode.Spline, LineSize = 9, PointMode = PointMode.None, LabelTextSize = 40, }; var count = Data.Count; float sum = 0; for (int i = 0; i < count; i++) { float val = float.Parse(Data[i].Temperature.ToString()); sum = sum + val; if (maxTemperature < val) { maxTemperature = val; } if (minTemperature > val) { minTemperature = val; } } Highest.Text = maxTemperature.ToString(); Lowest.Text = minTemperature.ToString(); Average.Text = (sum / count).ToString(); } catch (NullReferenceException) { await DisplayAlert("Error", "no data to display", "Ok"); } } first = false; }
private async void GetChart() { if (GetData.flag == true) { GetChartData getchart1 = new GetChartData(); GetChartData getchart2 = new GetChartData(); listEntry1.Clear(); listEntry2.Clear(); try { getchart1.DisplayChart(30, listEntry1, 3); Chart1.Chart = new LineChart { Entries = listEntry1, LineMode = LineMode.Spline, LineSize = 9, PointMode = PointMode.None, LabelTextSize = 30, }; getchart1.DisplayChart(100, listEntry2, 6); Chart2.Chart = new LineChart { Entries = listEntry2, LineMode = LineMode.Spline, LineSize = 9, PointMode = PointMode.None, LabelTextSize = 30, }; } catch (NullReferenceException) { await DisplayAlert("Error", "Select a valid stock from the 'Stocks' tab", "Ok"); } } else { await DisplayAlert("Error", "Select a valid stock from the 'Stocks' tab", "Ok"); } }