public static void ToConsole(this GetPvPowerForecastsResponse response)
 {
     Console.WriteLine($"Total Forecast Intervals {response.Forecasts.Count}");
     foreach (var currentForecast in response.Forecasts.Select((row, index) => new { index, row }))
     {
         Console.WriteLine($"{currentForecast.index} - {currentForecast.row.Dump()}");
     }
 }
 public static GetPvPowerForecastsResponse Validate(this GetPvPowerForecastsResponse forecast)
 {
     if (forecast.ResponseStatus?.Errors == null || !forecast.ResponseStatus.Errors.Any())
     {
         return(forecast);
     }
     foreach (var error in forecast.ResponseStatus.Errors)
     {
         if (Debugger.IsAttached)
         {
             Debugger.Break();
         }
         Console.WriteLine($"Issue: {error.Dump()}");
     }
     throw new ApplicationException("Forecast request failed");
 }
 private static GetPvPowerForecastsResponse Format(this GetPvPowerForecastsResponse response, TimeZoneInfo current)
 {
     response.Forecasts = response.Forecasts.FormatTimeZone(current).ToList();
     return(response);
 }