public async Task <IActionResult> GetDailySummary(
            [FromQuery(Name = "lat")]    decimal?latitude,
            [FromQuery(Name = "lng")]    decimal?longitude,
            [FromQuery(Name = "height")] decimal?height)
        {
            ForecastSeries forecast = await _weatherClient.GetLocationForecastAsync(
                new Location(latitude ?? 999, longitude ?? 999, height ?? 0));

            var result = from f in forecast.Forecasts
                         group f by f.Time.Date into g
                         select new
            {
                Date    = g.Key,
                MaxTemp = g.Max(g => g.MaxTemperature6h),
                MinTemp = g.Min(g => g.MinTemperature6h),
                Rain    = g.Sum(g => g.Precipitation6h),
                MaxGust = g.Max(g => g.WindSpeed),
                AvgWind = g.Average(g => g.WindSpeed),
                Icon9h  = g.FirstOrDefault(g => g.Time.Hour == 9)?.IconUrl ?? "",
                Icon15h = g.FirstOrDefault(g => g.Time.Hour == 15)?.IconUrl ?? "",
                Icon21h = g.FirstOrDefault(g => g.Time.Hour == 21)?.IconUrl ?? ""
            };

            return(Ok(result));
        }
        public async Task <ActionResult <ForecastSeries> > Get(
            [FromQuery(Name = "lat")]    decimal?latitude,
            [FromQuery(Name = "lng")]    decimal?longitude,
            [FromQuery(Name = "height")] decimal?height)
        {
            if (latitude == null || longitude == null)
            {
                return(BadRequest());
            }

            ForecastSeries forecast = await _weatherClient.GetLocationForecastAsync(
                new Location(latitude ?? 0, longitude ?? 0, height ?? 0));

            return(Ok(forecast));
        }
        public async Task <ActionResult <ForecastSeries> > GetDailyForecast(
            DateTime day,
            [FromQuery(Name = "lat")]    decimal?latitude,
            [FromQuery(Name = "lng")]    decimal?longitude,
            [FromQuery(Name = "height")] decimal?height)
        {
            if (latitude == null || longitude == null)
            {
                return(BadRequest());
            }
            ForecastSeries forecast = await _weatherClient.GetLocationForecastAsync(
                new Location(latitude ?? 0, longitude ?? 0, height ?? 0));

            return(Ok(new
            {
                forecast.Location,
                forecast.RunTime,
                Forecasts = forecast.Forecasts.Where(f => f.Time.Date == day.Date)
            }));
        }