AquaCare/AquaCare.View/WerteWindow.axaml.cs
2025-06-27 23:52:00 +02:00

57 lines
1.9 KiB
C#

using Avalonia.Controls;
using Avalonia.Interactivity;
using AquaCare.Controller;
using AquaCare.Persistence;
using System;
namespace AquaCare.View
{
// Fenster zur Anzeige und Verwaltung von Messwerten
public partial class WerteWindow : Window
{
// Controller für die Logik und Datenzugriffe
private readonly WerteController _controller;
// Konstruktor: Initialisiert das Fenster und lädt die Daten
public WerteWindow()
{
InitializeComponent(); // Initialisiert die UI-Komponenten
_controller = new WerteController(new Datenbank()); // Erstellt Controller mit Datenbank
LoadData(); // Lädt die Messwerte
}
// Lädt die Messwerte aus der Datenbank und bindet sie an das DataGrid
private void LoadData()
{
try
{
var werte = _controller.LoadWerte(); // Holt die Werte aus dem Controller
WerteDataGrid.ItemsSource = werte; // Bindet die Werte an das DataGrid
}
catch (Exception ex)
{
// Gibt eine Fehlermeldung aus, falls das Laden fehlschlägt
Console.WriteLine($"Fehler beim Laden der Werte: {ex.Message}");
}
}
// Event-Handler zum Schließen des Fensters
private void CloseWindowClick(object? sender, RoutedEventArgs e)
{
// Hinweis für den Benutzer (hier nur Konsolenausgabe)
Console.WriteLine("Möchten Sie das Fenster wirklich schließen? (Ja/Nein)");
// Simuliert eine Benutzerbestätigung (hier immer 'Ja')
bool userConfirmed = true; // Setze dies basierend auf der Benutzeraktion
if (userConfirmed)
{
this.Close(); // Fenster schließen
}
else
{
Console.WriteLine("Schließen des Fensters abgebrochen.");
}
}
}
}