AquaCare/AquaCare.View/PflegeWindow.axaml.cs
2025-06-19 09:33:30 +02:00

88 lines
3.0 KiB
C#

using AquaCare.Controller;
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 PflegeController _controller;
public PflegeWindow()
{
InitializeComponent();
_controller = new PflegeController(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 success = _controller.SavePflegeTask(
DatumPicker.SelectedDate.Value.DateTime,
GefuettertCheckBox.IsChecked ?? false,
FilterReinigenCheckBox.IsChecked ?? false,
WasserWechselnCheckBox.IsChecked ?? false,
temperatur,
phWert,
nitrat,
ammoniak
);
if (success)
{
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: Werte konnten nicht gespeichert werden.");
}
}
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();
}
}
}