public DatabaseCity(ForecastCollection forecastCollection) { this.Id = forecastCollection.City.Id; this.Name = forecastCollection.City.Name; this.CountryIso = forecastCollection.City.Country; this.TimezoneShift = forecastCollection.City.Timezone; }
// Nicht in Verwendung, deshalb private. private void WriteForcastCollection(ForecastCollection forecastCollection) { var dateOfRequest = forecastCollection.DateOfRequest; var cityId = forecastCollection.City.Id; string values = ""; var last = forecastCollection.List.Last(); foreach (var forecastObject in forecastCollection.List) { var forecastTime = DateTimeOffset.FromUnixTimeSeconds(forecastObject.Dt).DateTime; var temperature = forecastObject.Main.Temp.ToString(CultureInfo.InvariantCulture); var windSpeed = forecastObject.Wind.Speed.ToString(CultureInfo.InvariantCulture); var windDegree = forecastObject.Wind.Deg; var pressure = forecastObject.Main.Pressure; var humidity = forecastObject.Main.Humidity; var tMinus = (int)Math.Ceiling((forecastTime - dateOfRequest).TotalDays); values += $"('{forecastTime:yyyy-MM-dd HH:mm:ss}', {cityId}, {temperature}, {windSpeed}, " + $"{windDegree}, {pressure}, {humidity}, {tMinus})"; if (forecastObject != last) { values += ", "; } } try { OpenDb(); var command = connection.CreateCommand(); command.CommandText = $"INSERT INTO forecast VALUES {values}" + "ON DUPLICATE KEY UPDATE temperature = VALUES(temperature), " + "wind_speed = VALUES(wind_speed), wind_degree = VALUES(wind_degree), pressure = VALUES(pressure), " + "pressure = VALUES(pressure), humidity = VALUES(humidity)"; command.ExecuteNonQuery(); } catch (MySqlException ex) { MessageBox.Show("WriteForecastCollection: " + ex.Message); } finally { CloseDb(); } }