Merge remote-tracking branch 'origin/master'

# Conflicts:
#	ChronoFlow.Persistence/SqliteZeiterfassungsService.cs
#	ChronoFlow.View/MitarbeiterHinzufuegenView.axaml.cs
This commit is contained in:
Viperion 2025-05-05 14:43:41 +02:00
commit 53a3c1b4da
3 changed files with 19 additions and 21 deletions

View File

@ -7,6 +7,7 @@
<entry key="ChronoFlow.View/LoginView.axaml" value="ChronoFlow.View/ChronoFlow.View.csproj" />
<entry key="ChronoFlow.View/LoginWindow.axaml" value="ChronoFlow.View/ChronoFlow.View.csproj" />
<entry key="ChronoFlow.View/MainWindow.axaml" value="ChronoFlow.View/ChronoFlow.View.csproj" />
<entry key="ChronoFlow.View/MitarbeiterHinzufuegenView.axaml" value="ChronoFlow.View/ChronoFlow.View.csproj" />
<entry key="ChronoFlow.View/ZeiterfassungView.axaml" value="ChronoFlow.View/ChronoFlow.View.csproj" />
</map>
</option>

View File

@ -1,7 +1,6 @@
// Datei: Controller/LoginController.cs
using ChronoFlow.Model;
using System.Collections.Generic;
using System.Linq;
namespace ChronoFlow.Controller;

View File

@ -1,38 +1,36 @@
using System.Collections.Generic;
using ChronoFlow.Model;
using ChronoFlow.Persistence;
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
{
/// <summary>
/// Vermittelt zwischen der View und dem Speichersystem (SQLite)
/// </summary>
// Der Controller ist dafür zuständig, die Kommunikation zwischen der View (Oberfläche)
// und der Datenbank (Persistence-Schicht) zu regeln.
public class ZeiterfassungsController
{
private readonly SqliteZeiterfassungsService _dbService;
// Wir brauchen Zugriff auf den Sqlite-Service, um mit der Datenbank arbeiten zu können
private readonly SqliteZeiterfassungsService _sqliteService;
/// <summary>
/// Konstruktor: Initialisiert die Verbindung zum SQLite-Dienst
/// </summary>
// Konstruktor: Immer wenn ein ZeiterfassungsController erstellt wird,
// wird auch gleich ein SqliteService erstellt/verknüpft
public ZeiterfassungsController()
{
_dbService = new SqliteZeiterfassungsService();
_sqliteService = new SqliteZeiterfassungsService();
}
/// <summary>
/// Speichert einen neuen Zeiteintrag dauerhaft in der SQLite-Datenbank
/// </summary>
// Diese Methode wird aufgerufen, wenn ein neuer Zeiteintrag gespeichert werden soll
public void SpeichereEintrag(Zeiteintrag eintrag)
{
_dbService.SpeichereEintrag(eintrag);
// Übergibt den Eintrag direkt an den SQLite-Service,
// der kümmert sich um das Speichern in die Datenbank
_sqliteService.SpeichereEintrag(eintrag);
}
/// <summary>
/// Lädt alle vorhandenen Einträge aus der Datenbank
/// </summary>
// Diese Methode lädt alle bisherigen Zeiteinträge aus der Datenbank
public List<Zeiteintrag> LadeAlleEintraege()
{
return _dbService.LadeAlleZeiteintraege();
// Holt die Liste der Einträge von der Datenbank und gibt sie zurück
return _sqliteService.LadeAlleZeiteintraege();
}
}
}