using System; using Avalonia.Controls; using Avalonia.Interactivity; using ChronoFlow.Model; using ChronoFlow.Persistence; namespace ChronoFlow.View.Admin; public partial class ProjektBearbeitenDialog : Window { public Zeiteintrag UpdatedProjekt { get; private set; } public ProjektBearbeitenDialog(Zeiteintrag projekt) { InitializeComponent(); var dbService = new SqliteZeiterfassungsService(); var mitarbeiter = dbService.LadeAlleMitarbeiterNamen(); MitarbeiterDropdown.ItemsSource = mitarbeiter; MitarbeiterDropdown.SelectedItem = projekt.Mitarbeiter; // Vorbelegen ProjektnameBox.Text = projekt.Projekt; KommentarBox.Text = projekt.Kommentar; StartzeitPicker.SelectedDate = new DateTimeOffset(projekt.Startzeit); EndzeitPicker.SelectedDate = new DateTimeOffset(projekt.Endzeit); UpdatedProjekt = projekt; } private void SpeichernButton_Click(object? sender, RoutedEventArgs e) { UpdatedProjekt.Projekt = ProjektnameBox.Text ?? ""; UpdatedProjekt.Kommentar = KommentarBox.Text ?? ""; UpdatedProjekt.Startzeit = (StartzeitPicker.SelectedDate ?? DateTimeOffset.Now).DateTime; UpdatedProjekt.Endzeit = (EndzeitPicker.SelectedDate ?? DateTimeOffset.Now).DateTime; UpdatedProjekt.Mitarbeiter = MitarbeiterDropdown.SelectedItem?.ToString() ?? ""; Close(UpdatedProjekt); } private void AbbrechenButton_Click(object? sender, RoutedEventArgs e) { Close(null); } }