using System.Collections.Generic; // Für die List 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 async Task> LadeAlleEintraegeAsync() { // Holt die Liste der Einträge von der Datenbank und gibt sie zurück return await _sqliteService.LadeAlleEintraegeAsync(); } public List LadeAlleEintraege() { return _sqliteService.LadeAlleZeiteintraege(); } } }