PR2-Testate/LibrarySystem/facade/BibliothekSystem.java

55 lines
1.7 KiB
Java

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<Benutzer> 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;
}
}