57 lines
1.9 KiB
C#
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.");
|
|
}
|
|
}
|
|
}
|
|
} |