ChronoFlow/ChronoFlow.View/Admin/AbgeschlosseneProjekteView.axaml.cs

49 lines
1.5 KiB
C#

using System.Collections.ObjectModel;
using System.Linq;
using Avalonia.Controls;
using Avalonia.Input;
using Avalonia.Interactivity;
using ChronoFlow.Model;
using ChronoFlow.Persistence;
namespace ChronoFlow.View.Admin;
public partial class AbgeschlosseneProjekteView : UserControl
{
private readonly ViewManager _viewManager;
private readonly ObservableCollection<Zeiteintrag> _abgeschlosseneProjekte = new();
private readonly SqliteZeiterfassungsService _dbService = new();
public AbgeschlosseneProjekteView(ViewManager viewManager)
{
InitializeComponent();
_viewManager = viewManager;
LadeAbgeschlosseneProjekte();
}
private void LadeAbgeschlosseneProjekte()
{
_abgeschlosseneProjekte.Clear();
var ausDb = _dbService.LadeAbgeschlosseneProjekte();
foreach (var eintrag in ausDb)
_abgeschlosseneProjekte.Add(eintrag);
AbgeschlosseneListe.ItemsSource = _abgeschlosseneProjekte;
}
private void ZurueckButton_Click(object? sender, RoutedEventArgs e)
{
_viewManager.Show("AdminMain");
}
private void Suchfeld_KeyUp(object? sender, KeyEventArgs e)
{
var text = Suchfeld?.Text?.ToLower() ?? "";
AbgeschlosseneListe.ItemsSource = _abgeschlosseneProjekte
.Where(p => (p.Projekt?.ToLower().Contains(text) ?? false) ||
(p.Mitarbeiter?.ToLower().Contains(text) ?? false))
.ToList();
}
}