ChronoFlow/ChronoFlow.Controller/ZeiterfassungsController.cs
2025-04-28 16:52:18 +02:00

36 lines
1.5 KiB
C#

using System.Collections.Generic; // Für die List<T>
using ChronoFlow.Model; // Zugriff auf das Zeiteintrag-Modell
using ChronoFlow.Persistence; // Zugriff auf die Datenbank-Serviceklasse
namespace ChronoFlow.Controller
{
// Der Controller ist dafür zuständig, die Kommunikation zwischen der View (Oberfläche)
// und der Datenbank (Persistence-Schicht) zu regeln.
public class ZeiterfassungsController
{
// Wir brauchen Zugriff auf den Sqlite-Service, um mit der Datenbank arbeiten zu können
private readonly SqliteZeiterfassungsService _sqliteService;
// Konstruktor: Immer wenn ein ZeiterfassungsController erstellt wird,
// wird auch gleich ein SqliteService erstellt/verknüpft
public ZeiterfassungsController()
{
_sqliteService = new SqliteZeiterfassungsService();
}
// Diese Methode wird aufgerufen, wenn ein neuer Zeiteintrag gespeichert werden soll
public void SpeichereEintrag(Zeiteintrag eintrag)
{
// Übergibt den Eintrag direkt an den SQLite-Service,
// der kümmert sich um das Speichern in die Datenbank
_sqliteService.SpeichereEintrag(eintrag);
}
// Diese Methode lädt alle bisherigen Zeiteinträge aus der Datenbank
public List<Zeiteintrag> LadeAlleEintraege()
{
// Holt die Liste der Einträge von der Datenbank und gibt sie zurück
return _sqliteService.LadeAlleZeiteintraege();
}
}
}