46 lines
1.5 KiB
C#
46 lines
1.5 KiB
C#
using Avalonia.Controls;
|
|
using Avalonia.Interactivity;
|
|
using ChronoFlow.Controller;
|
|
|
|
namespace ChronoFlow.View
|
|
{
|
|
/// <summary>
|
|
/// Das Fenster für den Benutzer-Login.
|
|
/// </summary>
|
|
public partial class LoginWindow : Window
|
|
{
|
|
private LoginController _loginController;
|
|
|
|
public LoginWindow()
|
|
{
|
|
InitializeComponent(); // Verbindet XAML mit diesem Code
|
|
_loginController = new LoginController(); // Unsere "Logik-Klasse"
|
|
}
|
|
|
|
/// <summary>
|
|
/// Wird ausgeführt, wenn der Benutzer auf "Anmelden" klickt.
|
|
/// </summary>
|
|
private void LoginButton_Click(object? sender, RoutedEventArgs e)
|
|
{
|
|
// Holt Benutzername und Passwort aus den Eingabefeldern
|
|
string username = UsernameBox?.Text ?? string.Empty;
|
|
string password = PasswordBox?.Text ?? string.Empty;
|
|
// Übergibt die Eingaben an den LoginController
|
|
var user = _loginController.Authenticate(username, password);
|
|
|
|
if (user != null)
|
|
{
|
|
// Wenn erfolgreich: öffne das MainWindow
|
|
var main = new MainWindow(user);
|
|
main.Show();
|
|
this.Close(); // Schließe das Login-Fenster
|
|
}
|
|
else
|
|
{
|
|
// Wenn fehlgeschlagen: Fehlermeldung anzeigen
|
|
ErrorText.Text = "Login fehlgeschlagen. Bitte prüfen Sie Ihre Eingaben.";
|
|
ErrorText.IsVisible = true;
|
|
}
|
|
}
|
|
}
|
|
} |