40 lines
1.7 KiB
C#
40 lines
1.7 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 async Task<List<Zeiteintrag>> LadeAlleEintraegeAsync()
|
|
{
|
|
// Holt die Liste der Einträge von der Datenbank und gibt sie zurück
|
|
return await _sqliteService.LadeAlleEintraegeAsync();
|
|
}
|
|
public List<Zeiteintrag> LadeAlleEintraege()
|
|
{
|
|
return _sqliteService.LadeAlleZeiteintraege();
|
|
}
|
|
}
|
|
} |