Skip to content
Snippets Groups Projects
Commit 115a208b authored by Dennis Eisold's avatar Dennis Eisold
Browse files

Merge branch 'master' into 'master'

frontend.db in GUI integriert

See merge request !12
parents 0c351ad7 34a4efe0
No related branches found
1 merge request!12frontend.db in GUI integriert
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="Default" connectionString="Data Source=.\frontend.db;Version=3;" providerName="System.Data.SqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
......
This diff is collapsed.
......@@ -14,10 +14,37 @@ namespace Wetterstation
{
public partial class Settings : Form
{
//List<SettingsModel> WeatherstationSettings = new List<SettingsModel>();
SettingsModel WeatherstationSettings = new SettingsModel();
public Settings()
{
InitializeComponent();
lblFrontendId.Text = "Frontend Id: " + generateId();
//SqliteDataAccess.CreateAndOpenDb();
Console.WriteLine("Daten werden aus DB ausgelesen ...");
WeatherstationSettings = SqliteDataAccess.LoadWeatherstationSettings();
//Console.WriteLine("Ausgabe der Daten:" + WeatherstationSettings.mqtt_host);
//WeatherstationSettings = LoadWeatherstationSettings();
//Console.WriteLine("Ausgabe der Daten:" + WeatherstationSettings.;
}
private void LoadWeatherstationSettings()
{
//WeatherstationSettings = SqliteDataAccess.LoadWeatherstationSettings();
//SqliteDataAccess.CreateAndOpenDb();
//WeatherstationSettings = SqliteDataAccess.GetUserByName();
tbHost.Text = WeatherstationSettings.mqtt_host;
tbUser.Text = WeatherstationSettings.mqtt_user;
tbPasswort.Text = WeatherstationSettings.mqtt_pass;
tbTopicFrontend.Text = WeatherstationSettings.mqtt_topic_frontend;
tbTobicBackend.Text = WeatherstationSettings.mqtt_topic_backend;
tbQos.Text = WeatherstationSettings.mqtt_qos.ToString();
tbTimeout.Text = WeatherstationSettings.mqtt_timeout;
tbPort.Text = WeatherstationSettings.mqtt_port.ToString();
tbPlz.Text = WeatherstationSettings.plz.ToString();
}
private void TextBox2_TextChanged(object sender, EventArgs e)
......@@ -79,6 +106,40 @@ namespace Wetterstation
}
private void Settings_Load(object sender, EventArgs e)
{
Console.WriteLine("Bin in Settings_Load !!!!!!!");
LoadWeatherstationSettings();
}
private void TbSettingsHost_TextChanged(object sender, EventArgs e)
{
}
//SettingsForm in SettingsModell ablegen
private void Button1_Click(object sender, EventArgs e)
{
SettingsModel mqttSettings = new SettingsModel();
mqttSettings.mqtt_host = tbHost.Text;
mqttSettings.mqtt_user = tbPasswort.Text;
mqttSettings.mqtt_pass = tbTopicFrontend.Text;
mqttSettings.mqtt_topic_frontend = tbTobicBackend.Text;
mqttSettings.mqtt_topic_backend = tbQos.Text;
mqttSettings.mqtt_qos = Int32.Parse(tbQos.Text);
mqttSettings.mqtt_timeout = tbTimeout.Text;
mqttSettings.mqtt_port = Int32.Parse(tbPort.Text);
mqttSettings.frontendId = generateId(); //wird automatisch berechnet und gesetzt und soll nicht geändert werden
mqttSettings.plz = Int16.Parse(tbPlz.Text);
mqttSettings.city = tbPlz.Text;
Console.WriteLine("Speichere Settings ");
SqliteDataAccess.SaveWeatherstationSettings(mqttSettings);
this.Close();
}
private void TextBox1_TextChanged(object sender, EventArgs e)
{
}
......
File added
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Wetterstation
{
public class SettingsModel
{
public string mqtt_host { get; set; }
public string mqtt_user { get; set; }
public string mqtt_pass { get; set; }
public string mqtt_topic_frontend { get; set; }
public string mqtt_topic_backend { get; set; }
public int mqtt_qos { get; set; }
public string mqtt_timeout { get; set; }
public int mqtt_port { get; set; }
public string frontendId { get; set; }
public int plz { get; set; }
public string city { get; set; }
}
}
using Dapper;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SQLite;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
namespace Wetterstation
{
public static class SqliteDataAccess
{
public static SQLiteConnection _dbConnection;
//public static void CreateAndOpenDb()
//{
// //var dbFilePath = "./TestDb.sqlite";
// var dbFilePath = "./frontend.db";
// if (!File.Exists(dbFilePath))
// {
// SQLiteConnection.CreateFile(dbFilePath);
// }
// _dbConnection = new SQLiteConnection(string.Format(
// "Data Source={0};Version=3;", dbFilePath));
// _dbConnection.Open();
//}
public static SettingsModel LoadWeatherstationSettings()
{
using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString()))
{
var output = cnn.Query<SettingsModel>("SELECT * FROM settings LIMIT 1;");
//Console.WriteLine("Der Horst ist:" + output.ToString);
return output.FirstOrDefault();
}
}
public static void SaveWeatherstationSettings(SettingsModel mqttSettings)
{
//Console.WriteLine("Port aus DB ..." + mqttSettings.dbMqttHost);
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, plz = @plz;", mqttSettings);
}
}
//holt den ConnectionString aus der App.config (siehe ProjektmappenExplorer)
private static string LoadConnectionString(string id = "Default")
{
return ConfigurationManager.ConnectionStrings[id].ConnectionString;
}
//public static SettingsModel GetUserByName()
//{
// var userCollection = _dbConnection.Query<SettingsModel>("SELECT * FROM settings LIMIT 1;");
// //new { Port = port });
// return userCollection.FirstOrDefault();
//}
//public static void SaveWeatherstationSettings(SettingsModel mqttSettings)
//{
// _dbConnection.ExecuteNonQuery(@"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, plz = @plz, city = @city ; ");
//}
//
}
}
// public static SettingsModel LoadWeatherstationSettings()
// {
// using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString()))
// {
// var output = cnn.Query<SettingsModel>("select * from settings where mqtt_port=1883");
// //Console.WriteLine("Der Horst ist:" + output.ToString);
// return output.FirstOrDefault();
// }
// }
// public static void SaveWeatherstationSettings(SettingsModel mqttSettings)
// {
// Console.WriteLine("Port aus DB ..." + mqttSettings.dbMqttHost);
// 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, plz = @plz, city = @city ;");
// }
// }
//}
......@@ -12,6 +12,8 @@
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
......@@ -33,6 +35,9 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Dapper, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Dapper.2.0.30\lib\net461\Dapper.dll</HintPath>
</Reference>
<Reference Include="LiveCharts, Version=0.9.7.0, Culture=neutral, PublicKeyToken=0bc1f845d1ebb8df, processorArchitecture=MSIL">
<HintPath>..\packages\LiveCharts.0.9.7\lib\net45\LiveCharts.dll</HintPath>
</Reference>
......@@ -43,7 +48,11 @@
<HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Data.SQLite, Version=1.0.112.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
<HintPath>..\packages\System.Data.SQLite.Core.1.0.112.0\lib\net46\System.Data.SQLite.dll</HintPath>
</Reference>
<Reference Include="System.Management" />
<Reference Include="System.Windows.Forms.DataVisualization" />
<Reference Include="System.Xml.Linq" />
......@@ -57,6 +66,8 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="SqliteDataAccess.cs" />
<Compile Include="SettingsModel.cs" />
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
......@@ -87,6 +98,9 @@
<EmbeddedResource Include="Settings.resx">
<DependentUpon>Settings.cs</DependentUpon>
</EmbeddedResource>
<Content Include="frontend.db">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
......@@ -144,4 +158,11 @@
<None Include="Resources\Zahnrad.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\packages\System.Data.SQLite.Core.1.0.112.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net46\System.Data.SQLite.Core.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.112.0\build\net46\System.Data.SQLite.Core.targets'))" />
</Target>
</Project>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
</Project>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Dapper" version="2.0.30" targetFramework="net472" />
<package id="LiveCharts" version="0.9.7" targetFramework="net472" />
<package id="M2Mqtt" version="4.3.0.0" targetFramework="net472" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net472" />
<package id="System.Data.SQLite.Core" version="1.0.112.0" targetFramework="net472" />
</packages>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment