70 lines
2.6 KiB
C#
70 lines
2.6 KiB
C#
using System;
|
|
using Avalonia.Controls;
|
|
using Avalonia.Interactivity;
|
|
using Avalonia.Media;
|
|
using ChronoFlow.Model;
|
|
using Microsoft.Data.Sqlite;
|
|
using ChronoFlow.Persistence;
|
|
|
|
namespace ChronoFlow.View
|
|
{
|
|
public partial class MitarbeiterHinzufuegenView : UserControl
|
|
{
|
|
public MitarbeiterHinzufuegenView()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void SpeichernButton_Click(object? sender, RoutedEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
var service = new SqliteZeiterfassungsService();
|
|
|
|
string username = UsernameBox.Text ?? "";
|
|
string password = PasswordBox.Text ?? "";
|
|
string rolle = (RoleBox.SelectedItem as ComboBoxItem)?.Content?.ToString() ?? "";
|
|
string mitarbeiternummer = MitarbeiternummerBox.Text ?? "";
|
|
string abteilung = AbteilungBox.Text ?? "";
|
|
|
|
if (string.IsNullOrWhiteSpace(username) || string.IsNullOrWhiteSpace(password) || string.IsNullOrWhiteSpace(rolle))
|
|
{
|
|
FeedbackText.Text = "⚠ Bitte alle Pflichtfelder ausfüllen!";
|
|
FeedbackText.Foreground = Brushes.Red;
|
|
FeedbackText.IsVisible = true;
|
|
return;
|
|
}
|
|
|
|
using var connection = new SqliteConnection("Data Source=chrono_data.sb");
|
|
connection.Open();
|
|
|
|
var cmd = connection.CreateCommand();
|
|
cmd.CommandText = @"
|
|
INSERT INTO Benutzer (Username, Password, Role, Mitarbeiternummer, Abteilung)
|
|
VALUES ($Username, $Password, $Role, $Mitarbeiternummer, $Abteilung);";
|
|
|
|
cmd.Parameters.AddWithValue("$Username", username);
|
|
cmd.Parameters.AddWithValue("$Password", password);
|
|
cmd.Parameters.AddWithValue("$Role", rolle);
|
|
cmd.Parameters.AddWithValue("$Mitarbeiternummer", mitarbeiternummer);
|
|
cmd.Parameters.AddWithValue("$Abteilung", abteilung);
|
|
cmd.ExecuteNonQuery();
|
|
|
|
FeedbackText.Text = "✅ Mitarbeiter erfolgreich gespeichert.";
|
|
FeedbackText.Foreground = Brushes.Green;
|
|
FeedbackText.IsVisible = true;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
FeedbackText.Text = $"❌ Fehler: {ex.Message}";
|
|
FeedbackText.Foreground = Brushes.Red;
|
|
FeedbackText.IsVisible = true;
|
|
|
|
Console.WriteLine("❌ Ausnahme beim Speichern:");
|
|
Console.WriteLine(ex.ToString());
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|