using Dapper; using System.Configuration; using System.Data; using System.Data.SQLite; using System.Linq; namespace Wetterstation { //Hier werden die Datenbankzugriffe fuer die frontend.db geregelt public static class SqliteDataAccess { public static SQLiteConnection _dbConnection; //Settings aus der Datenbank auslesen public static SettingsModel LoadWeatherstationSettings() { using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) { var output = cnn.Query<SettingsModel>("SELECT * FROM settings LIMIT 1;"); return output.FirstOrDefault(); } } //Settings in der Datenbank abspeichern public static void SaveWeatherstationSettings(SettingsModel mqttSettings) { using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) { cnn.Execute("UPDATE settings " + "SET mqtt_host = @mqtt_host, " + "mqtt_user = @mqtt_user, " + "mqtt_pass = @mqtt_pass, " + "mqtt_topic_frontend = @mqtt_topic_frontend, " + "mqtt_topic_backend = @mqtt_topic_backend, " + "mqtt_qos = @mqtt_qos, " + "mqtt_timeout = @mqtt_timeout, " + "mqtt_port = @mqtt_port, " + "frontendId = @frontendId, " + "lngCode = @lngCode, " + "plz = @plz, " + "city = @city, " + "node1Id = @node1Id, " + "node1Innen = @node1Innen, " + "node1Aussen = @node1Aussen;", mqttSettings); } } //holt den ConnectionString aus der App.config (siehe ProjektmappenExplorer) private static string LoadConnectionString(string id = "Default") { return ConfigurationManager.ConnectionStrings[id].ConnectionString; } } }