82 lines
2.8 KiB
Java
82 lines
2.8 KiB
Java
package fassade;
|
|
|
|
import backend.medium.Medien;
|
|
import backend.benutzer.*;
|
|
import java.time.LocalDate;
|
|
import java.util.List;
|
|
|
|
public class Fassade {
|
|
|
|
private final Verwaltung verwaltung;
|
|
private LocalDate aktuellesDatum;
|
|
|
|
// Konstruktor
|
|
public Fassade(Verwaltung verwaltung) {
|
|
this.verwaltung = verwaltung;
|
|
this.aktuellesDatum = LocalDate.now(); // Initiales Datum ist das heutige Datum
|
|
}
|
|
|
|
// Benutzer registrieren
|
|
public void registriereBenutzer(Benutzer benutzer) {
|
|
verwaltung.addBenutzer(benutzer); // Benutzer zur fassade.Verwaltung hinzufügen
|
|
}
|
|
|
|
// Benutzer anmelden
|
|
public Benutzer anmeldenBenutzer(int kundennummer) {
|
|
return verwaltung.benutzerListe.stream()
|
|
.filter(b -> b.getKundennummer() == kundennummer)
|
|
.findFirst()
|
|
.orElse(null); // Gibt null zurück, wenn Benutzer nicht gefunden wurde
|
|
}
|
|
|
|
// backend.medium.Medien durchsuchen
|
|
public List<Medien> durchsuchenMedien(String suchbegriff) {
|
|
// Rufe die Methode in der fassade.Verwaltung auf und übergebe die medienListe
|
|
return verwaltung.durchsuchenMedien(verwaltung.mediensListe, suchbegriff);
|
|
}
|
|
|
|
|
|
// backend.medium.Medien ausleihen
|
|
public void ausleihen(int medienId, Benutzer benutzer, LocalDate ausleihDatum, LocalDate rueckgabeDatum) {
|
|
Medien medien = verwaltung.mediensListe.stream()
|
|
.filter(m -> m.getId() == medienId)
|
|
.findFirst()
|
|
.orElse(null);
|
|
|
|
if (medien != null) {
|
|
verwaltung.addAL(medien, benutzer, ausleihDatum, rueckgabeDatum); // Leihe das Medium aus
|
|
} else {
|
|
System.out.println("backend.medium.Medien nicht gefunden.");
|
|
}
|
|
}
|
|
|
|
// backend.medium.Medien zurückgeben
|
|
public void rueckgabe(int medienId, Benutzer benutzer, LocalDate rueckgabeDatum) {
|
|
verwaltung.rueckgabe(medienId, benutzer, rueckgabeDatum); // Rückgabe des Mediums
|
|
}
|
|
|
|
// backend.medium.Medien verlängern
|
|
public void verlaengern(int medienId, Benutzer benutzer) {
|
|
Medien medien = verwaltung.mediensListe.stream()
|
|
.filter(m -> m.getId() == medienId)
|
|
.findFirst()
|
|
.orElse(null);
|
|
|
|
if (medien != null) {
|
|
verwaltung.verlängern(medien, benutzer); // Verlängere die Leihfrist
|
|
} else {
|
|
System.out.println("backend.medium.Medien nicht gefunden.");
|
|
}
|
|
}
|
|
|
|
// Zeit verschieben
|
|
public void zeitVerschieben(LocalDate neuesDatum) {
|
|
this.aktuellesDatum = neuesDatum; // Aktuelles Datum auf das neue Datum setzen
|
|
}
|
|
|
|
// Aktuelles Datum abrufen
|
|
public LocalDate getAktuellesDatum() {
|
|
return aktuellesDatum; // Gibt das aktuelle Datum zurück
|
|
}
|
|
}
|