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."); } } } }