diff --git a/AquaCare.Controller/PflegeController.cs b/AquaCare.Controller/PflegeController.cs new file mode 100644 index 0000000..e5ef6c3 --- /dev/null +++ b/AquaCare.Controller/PflegeController.cs @@ -0,0 +1,46 @@ +using AquaCare.Model; +using AquaCare.Persistence; + +namespace AquaCare.Controller +{ + public class PflegeController + { + private readonly Datenbank _db; + + public PflegeController(Datenbank db) + { + _db = db; + } + + public bool SavePflegeTask(DateTime datum, bool gefuettert, bool filterReinigen, + bool wasserWechseln, double temperatur, double phWert, double nitrat, double ammoniak) + { + try + { + var wert = new Werte + { + Datum = datum, + Gefuettert = gefuettert, + FilterReinigen = filterReinigen, + WasserWechseln = wasserWechseln, + Temperatur = temperatur, + PhWert = phWert, + Nitrat = nitrat, + Ammoniak = ammoniak + }; + + _db.AddValue(wert); + return true; + } + catch + { + return false; + } + } + + public List GetAllWerte() + { + return _db.GetValuesAsObjects(); + } + } +} \ No newline at end of file diff --git a/AquaCare.Persistence/obj/Debug/net9.0/AquaCare.Persistence.assets.cache b/AquaCare.Persistence/obj/Debug/net9.0/AquaCare.Persistence.assets.cache index a4cf7dd..4810f54 100644 Binary files a/AquaCare.Persistence/obj/Debug/net9.0/AquaCare.Persistence.assets.cache and b/AquaCare.Persistence/obj/Debug/net9.0/AquaCare.Persistence.assets.cache differ diff --git a/AquaCare.View/PflegeWindow.axaml.cs b/AquaCare.View/PflegeWindow.axaml.cs index 47df4af..0f2e246 100644 --- a/AquaCare.View/PflegeWindow.axaml.cs +++ b/AquaCare.View/PflegeWindow.axaml.cs @@ -1,3 +1,4 @@ +using AquaCare.Controller; using Avalonia.Controls; using Avalonia.Interactivity; using Avalonia.Markup.Xaml; @@ -9,12 +10,12 @@ namespace AquaCare.View { public partial class PflegeWindow : Window { - private readonly Datenbank _datenbank; + private readonly PflegeController _controller; public PflegeWindow() { InitializeComponent(); - _datenbank = new Datenbank(); + _controller = new PflegeController(new Datenbank()); } private void InitializeComponent() @@ -38,30 +39,35 @@ namespace AquaCare.View return; } - var neuerWert = new Werte + var success = _controller.SavePflegeTask( + DatumPicker.SelectedDate.Value.DateTime, + GefuettertCheckBox.IsChecked ?? false, + FilterReinigenCheckBox.IsChecked ?? false, + WasserWechselnCheckBox.IsChecked ?? false, + temperatur, + phWert, + nitrat, + ammoniak + ); + + if (success) { - Datum = DatumPicker.SelectedDate.Value.DateTime, - Gefuettert = GefuettertCheckBox.IsChecked ?? false, - FilterReinigen = FilterReinigenCheckBox.IsChecked ?? false, - WasserWechseln = WasserWechselnCheckBox.IsChecked ?? false, - Temperatur = temperatur, - PhWert = phWert, - Nitrat = nitrat, - Ammoniak = ammoniak - }; + Console.WriteLine("Erfolg: Werte erfolgreich gespeichert."); - _datenbank.AddValue(neuerWert); - Console.WriteLine("Erfolg: Werte erfolgreich gespeichert."); - - // Eingabefelder zurücksetzen - DatumPicker.SelectedDate = null; - GefuettertCheckBox.IsChecked = false; - FilterReinigenCheckBox.IsChecked = false; - WasserWechselnCheckBox.IsChecked = false; - TemperaturBox.Text = string.Empty; - PhBox.Text = string.Empty; - NitratBox.Text = string.Empty; - AmmoniakBox.Text = string.Empty; + // Eingabefelder zurücksetzen + DatumPicker.SelectedDate = null; + GefuettertCheckBox.IsChecked = false; + FilterReinigenCheckBox.IsChecked = false; + WasserWechselnCheckBox.IsChecked = false; + TemperaturBox.Text = string.Empty; + PhBox.Text = string.Empty; + NitratBox.Text = string.Empty; + AmmoniakBox.Text = string.Empty; + } + else + { + Console.WriteLine("Fehler: Werte konnten nicht gespeichert werden."); + } } else { diff --git a/AquaCare.View/obj/Debug/net9.0/apphost.exe b/AquaCare.View/obj/Debug/net9.0/apphost.exe index 289184f..42106ff 100644 Binary files a/AquaCare.View/obj/Debug/net9.0/apphost.exe and b/AquaCare.View/obj/Debug/net9.0/apphost.exe differ