ChronoFlow/ChronoFlow.View/Admin/ProjektBearbeitenDialog.axaml.cs

47 lines
1.5 KiB
C#

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