55 lines
1.7 KiB
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;
|
|
}
|
|
}
|