AquaCare/AquaCare.View/PflegeWindow.axaml.cs

87 lines
2.8 KiB
C#

using Avalonia.Controls;
using Avalonia.Interactivity;
using AquaCare.Persistence;
using System;
using Avalonia.Themes.Fluent;
using Avalonia.Markup.Xaml;
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)
{
// Optional: MessageBox anzeigen
Console.WriteLine("Fehler: Werte dürfen nicht negativ sein.");
return;
}
_datenbank.AddValue(
DatumPicker.SelectedDate.Value.DateTime,
temperatur,
phWert,
nitrat,
ammoniak
);
Console.WriteLine("Erfolg: Werte erfolgreich gespeichert.");
// Eingabefelder zurücksetzen
DatumPicker.SelectedDate = null;
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)
{
Console.WriteLine("Möchten Sie das Fenster wirklich schließen? (Ja/Nein)");
// Simuliere eine Benutzeraktion (z. B. durch eine UI-Komponente oder Konsoleninteraktion)
bool userConfirmed = true; // Setze dies basierend auf der Benutzeraktion
if (userConfirmed)
{
this.Close(); // Fenster schließen
}
else
{
Console.WriteLine("Schließen des Fensters abgebrochen.");
}
}
}
}