protected override async Task ExecuteJobAsync() { // ToDo: Bulk foreach (var forecasts in Grabber.Grabber.GetForecasts()) { foreach (var forecast in forecasts) { var exist = await WeatherForecastRepository.ExistsAsync(w => w.City.Name == forecast.CityName && w.Date.Date == forecast.Date.Date); if (exist) { await WeatherForecastRepository.SaveAsync(forecast); } else { var city = (await CityRepository.FindAsync(c => c.Name == forecast.CityName)).FirstOrDefault(); SetWeatherCity(forecast, city); await WeatherForecastRepository.CreateAsync(forecast); } } } // ToDO: informative log Logger.LogInformation("GRABBED!"); }