50 lines
1.6 KiB
C#
50 lines
1.6 KiB
C#
using System;
|
|
using System.Collections.ObjectModel;
|
|
using Avalonia.Controls;
|
|
using ChronoFlow.Model;
|
|
using ChronoFlow.Persistence;
|
|
|
|
namespace ChronoFlow.View.Mitarbeiter
|
|
{
|
|
public partial class MitarbeiterMainView : UserControl
|
|
{
|
|
private readonly ViewManager _viewManager;
|
|
private readonly User _currentUser;
|
|
private readonly ObservableCollection<Zeiteintrag> _letzteProjekte = new();
|
|
private readonly ObservableCollection<string> _notifications = new();
|
|
|
|
public MitarbeiterMainView(ViewManager viewManager, User user)
|
|
{
|
|
InitializeComponent();
|
|
_viewManager = viewManager;
|
|
_currentUser = user;
|
|
|
|
LetzteProjekteListe.ItemsSource = _letzteProjekte;
|
|
NotificationList.ItemsSource = _notifications;
|
|
|
|
LadeLetzteProjekte();
|
|
LadeBenachrichtigungen();
|
|
}
|
|
|
|
private void LadeLetzteProjekte()
|
|
{
|
|
var dbService = new SqliteZeiterfassungsService();
|
|
var projekte = dbService.LadeLetzteProjekte(3);
|
|
_letzteProjekte.Clear();
|
|
|
|
foreach (var p in projekte)
|
|
{
|
|
if (p.Mitarbeiter == _currentUser.Username)
|
|
_letzteProjekte.Add(p);
|
|
}
|
|
}
|
|
|
|
private void LadeBenachrichtigungen()
|
|
{
|
|
// 🛈 Platzhalter → hier später echte DB-Infos laden!
|
|
_notifications.Clear();
|
|
_notifications.Add("Projekt Alpha wurde aktualisiert.");
|
|
_notifications.Add("Deadline für Projekt Beta wurde verschoben.");
|
|
}
|
|
}
|
|
} |