private async Task GetForecastAsync() { Loading = true; var forecasts = await ForecastService.GetForecastAsync(); Forecasts = forecasts.Select(f => new DynamicTableRow <WeatherForecast> { Context = f }).ToList(); GroupedForecast = forecasts.GroupBy(f => f.Date.Date).Select(g => { var group = new DynamicTableGroup <WeatherForecast> { Rows = g.Select(f => new DynamicTableRow <WeatherForecast> { Context = f }).ToList() }; return(group); }).ToList(); Loading = false; }
private async Task GetForecastAsync() { Loading = true; var forecasts = await ForecastService.GetForecastAsync(); Forecasts = forecasts.Select(f => { var props = new List <DynamicTableCell> { new DynamicTableCell { Content = f.Date, Classes = "-l" }, new DynamicTableCell { Content = f.Temperature, Classes = "-l" }, new DynamicTableCell { Content = f.RainChangePercent, Classes = "-r" }, new DynamicTableCell { Content = f.RainAmmount, Classes = "-r" } }; return(new DynamicTableRow { Cells = props }); }).ToList(); GroupedForecast = forecasts.GroupBy(f => f.Date.Date).Select(g => { var group = new DynamicTableGroup { Title = $"{g.Key.ToShortDateString()} -> Avg temp (C): {Math.Round(g.Average(f => f.Temperature), 1, MidpointRounding.ToEven)}", Rows = g.Select(f => { var props = new List <DynamicTableCell> { new DynamicTableCell { Content = f.Date, Classes = "forecast-date -l" }, new DynamicTableCell { Content = f.Temperature, Classes = "-l" }, new DynamicTableCell { Content = f.RainChangePercent, Classes = "-r" }, new DynamicTableCell { Content = f.RainAmmount, Classes = "-r" } }; return(new DynamicTableRow { Cells = props }); }).ToList() }; return(group); }).ToList(); Loading = false; }