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/LoginView.axaml" value="ChronoFlow.View/ChronoFlow.View.csproj" />
<entry key="ChronoFlow.View/LoginWindow.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/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" /> <entry key="ChronoFlow.View/ZeiterfassungView.axaml" value="ChronoFlow.View/ChronoFlow.View.csproj" />
</map> </map>
</option> </option>

View File

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

View File

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