package LibrarySystem.facade; import LibrarySystem.domain.benutzern.*; import java.time.LocalDate; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class BibliothekSystem { private List benutzerListe; private LocalDate aktuellesDatum; public BibliothekSystem() { this.benutzerListe = new ArrayList<>(); this.aktuellesDatum = LocalDate.now(); } public void datumAendern(LocalDate neuesDatum) { this.aktuellesDatum = neuesDatum; System.out.println("Systemdatum geändert auf: " + aktuellesDatum); } public LocalDate getAktuellesDatum() { return aktuellesDatum; } public void benutzerRegistrieren(Benutzer benutzer) { benutzerListe.add(benutzer); System.out.println("Benutzer registriert: " + benutzer); } public void zeigeGebuehren(Benutzer benutzer) { benutzer.aktualisiereGebuehren(aktuellesDatum); if (benutzer.sindGebuehrenBezahlt()) { System.out.println("Alle Gebühren von " + benutzer.getVorname() + " " + benutzer.getNachname() + " sind bezahlt."); } else { System.out.println("Aktuelle Gebühren für " + benutzer.getVorname() + " " + benutzer.getNachname() + ": " + benutzer.getOffeneGebuehren() + "€"); } } public Benutzer anmelden(String kartennummer) { for (Benutzer benutzer : benutzerListe) { if (benutzer.getKartennummer().equals(kartennummer)) { System.out.println("Willkommen, " + benutzer.getVorname() + " " + benutzer.getNachname() + "!"); return benutzer; } } System.out.println("Benutzer nicht gefunden."); return null; } }