AquaCare/AquaCare.View/PflegeWindow.axaml.cs
2025-06-16 09:51:22 +02:00

82 lines
2.8 KiB
C#

using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Markup.Xaml;
using AquaCare.Persistence;
using AquaCare.Model;
using System;
namespace AquaCare.View
{
public partial class PflegeWindow : Window
{
private readonly Datenbank _datenbank;
public PflegeWindow()
{
InitializeComponent();
_datenbank = new Datenbank();
}
private void InitializeComponent()
{
AvaloniaXamlLoader.Load(this);
}
private void SaveClick(object? sender, RoutedEventArgs e)
{
try
{
if (DatumPicker.SelectedDate.HasValue &&
double.TryParse(TemperaturBox.Text, out double temperatur) &&
double.TryParse(PhBox.Text, out double phWert) &&
double.TryParse(NitratBox.Text, out double nitrat) &&
double.TryParse(AmmoniakBox.Text, out double ammoniak))
{
if (temperatur < 0 || phWert < 0 || nitrat < 0 || ammoniak < 0)
{
Console.WriteLine("Fehler: Werte dürfen nicht negativ sein.");
return;
}
var neuerWert = new Wert
{
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
};
_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;
}
else
{
Console.WriteLine("Fehler: Bitte alle Felder korrekt ausfüllen.");
}
}
catch (Exception ex)
{
Console.WriteLine($"Fehler beim Speichern der Werte: {ex.Message}");
}
}
private void CancelClick(object? sender, RoutedEventArgs e)
{
Close();
}
}
}