133 lines
4.9 KiB
Java
133 lines
4.9 KiB
Java
package LibrarySystem.UI;
|
|
|
|
import LibrarySystem.domain.benutzern.*;
|
|
import LibrarySystem.facade.BibliothekSystem;
|
|
|
|
import java.util.Scanner;
|
|
|
|
public class UI {
|
|
private BibliothekSystem system;
|
|
private Scanner scanner;
|
|
|
|
public UI(BibliothekSystem system) {
|
|
this.system = system;
|
|
this.scanner = new Scanner(System.in);
|
|
}
|
|
|
|
public void starten() {
|
|
while (true) {
|
|
System.out.println("Willkommen in der Bibliothek!");
|
|
System.out.println("1. Anmelden");
|
|
System.out.println("2. Medien durchsuchen");
|
|
System.out.println("3. Ausleihen eines Mediums");
|
|
System.out.println("4. Rückgabe eines Mediums");
|
|
System.out.println("5. Zeige ausgeliehene Gegenstände und Gebühren");
|
|
System.out.println("6. Verlängern der Leihfrist");
|
|
System.out.println("7. Admin-Login (Überfällige Gebühren verbuchen)");
|
|
System.out.println("0. Beenden");
|
|
System.out.print("Bitte wählen Sie eine Option: ");
|
|
int auswahl = scanner.nextInt();
|
|
scanner.nextLine();
|
|
|
|
switch (auswahl) {
|
|
case 1:
|
|
anmelden();
|
|
break;
|
|
case 2:
|
|
durchsuchenMedien();
|
|
break;
|
|
case 3:
|
|
ausleihenMedium();
|
|
break;
|
|
case 4:
|
|
rueckgabeMedium();
|
|
break;
|
|
case 5:
|
|
zeigeAusgelieheneMedienUndGebuehren();
|
|
break;
|
|
case 6:
|
|
verlaengernLeihfrist();
|
|
break;
|
|
case 7:
|
|
adminLogin();
|
|
break;
|
|
case 0:
|
|
System.out.println("Auf Wiedersehen!");
|
|
return;
|
|
default:
|
|
System.out.println("Ungültige Auswahl, bitte erneut versuchen.");
|
|
}
|
|
}
|
|
}
|
|
|
|
private void anmelden() {
|
|
System.out.print("Bitte geben Sie Ihre Kartennummer ein: ");
|
|
String kartennummer = scanner.nextLine();
|
|
Benutzer benutzer = system.anmelden(kartennummer);
|
|
if (benutzer != null) {
|
|
System.out.println("Erfolgreich angemeldet als: " + benutzer.getName());
|
|
}
|
|
}
|
|
|
|
private void durchsuchenMedien() {
|
|
System.out.println("Durchsuchen der Medien: (bitte nur Titel und Medienart eingeben)");
|
|
System.out.println("Titel: ");
|
|
String titel = scanner.nextLine();
|
|
System.out.println("Medienart: ");
|
|
String medienart = scanner.nextLine();
|
|
system.durchsuchenMedien(titel, medienart);
|
|
}
|
|
|
|
private void ausleihenMedium() {
|
|
System.out.print("Bitte geben Sie die ID des Mediums ein, das Sie ausleihen möchten: ");
|
|
String mediumId = scanner.nextLine();
|
|
// Beispiel: Medium finden und ausleihen
|
|
System.out.println("Medium mit ID " + mediumId + " ausgeliehen.");
|
|
}
|
|
|
|
private void rueckgabeMedium() {
|
|
System.out.print("Bitte geben Sie die ID des Mediums ein, das Sie zurückgeben möchten: ");
|
|
String mediumId = scanner.nextLine();
|
|
// Beispiel: Medium zurückgeben
|
|
System.out.println("Medium mit ID " + mediumId + " zurückgegeben.");
|
|
}
|
|
private void zeigeAusgelieheneMedienUndGebuehren() {
|
|
System.out.print("Bitte geben Sie Ihre Kartennummer ein: ");
|
|
String kartennummer = scanner.nextLine();
|
|
Benutzer benutzer = system.anmelden(kartennummer);
|
|
if (benutzer != null) {
|
|
system.zeigeGebuehren(benutzer);
|
|
}
|
|
}
|
|
|
|
private void verlaengernLeihfrist() {
|
|
System.out.print("Bitte geben Sie die ID des Mediums ein, dessen Leihfrist Sie verlängern möchten: ");
|
|
String mediumId = scanner.nextLine();
|
|
System.out.println("Leihfrist für Medium mit ID " + mediumId + " verlängert.");
|
|
// Logik zur Verlängerung der Leihfrist hinzufügen
|
|
}
|
|
|
|
private void adminLogin() {
|
|
System.out.print("Bitte geben Sie Ihre Admin-Kartennummer ein: ");
|
|
String kartennummer = scanner.nextLine();
|
|
Benutzer admin = system.anmelden(kartennummer);
|
|
if (admin instanceof Admin) {
|
|
System.out.println("Admin erfolgreich eingeloggt.");
|
|
System.out.print("Bitte geben Sie die Kartennummer des Benutzers ein, dessen Gebühren Sie verbuchen möchten: ");
|
|
String benutzerKartennummer = scanner.nextLine();
|
|
Benutzer benutzer = system.anmelden(benutzerKartennummer);
|
|
if (benutzer != null) {
|
|
((Admin) admin).bestaetigeGebuehrenzahlung(benutzer);
|
|
}
|
|
} else {
|
|
System.out.println("Ungültige Admin-Kartennummer.");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|