MedienHinzufügen Prozess & code-Verbesserungen
parent
712087279b
commit
b62bed0fb0
|
@ -0,0 +1,78 @@
|
||||||
|
package MedienHinzüfugen;
|
||||||
|
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
import domain.ExceptionsKlassen.FalscheEingabeException;
|
||||||
|
import domain.fassade.BibSystem;
|
||||||
|
|
||||||
|
public class MedienHinzufügen {
|
||||||
|
private Scanner scanner = new Scanner(System.in);
|
||||||
|
private BibSystem fassade;
|
||||||
|
|
||||||
|
public MedienHinzufügen(BibSystem fassade) {
|
||||||
|
this.fassade = fassade;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void start() {
|
||||||
|
System.out.println("Willkommen im Bibliothekssystem!");
|
||||||
|
boolean beenden = false;
|
||||||
|
|
||||||
|
while (!beenden) {
|
||||||
|
System.out.println("\nBitte wählen Sie eine Aktion aus:");
|
||||||
|
System.out.println("1: Neues Medium hinzufügen");
|
||||||
|
System.out.println("2: System beenden");
|
||||||
|
System.out.print("Ihre Auswahl: ");
|
||||||
|
|
||||||
|
int auswahl = scanner.nextInt();
|
||||||
|
scanner.nextLine();
|
||||||
|
|
||||||
|
switch (auswahl) {
|
||||||
|
case 1:
|
||||||
|
mediumHinzufügen();
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
beenden = true;
|
||||||
|
System.out.println("Programm beendet.");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
System.out.println("Ungültige Auswahl. Bitte erneut versuchen.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void mediumHinzufügen() {
|
||||||
|
try {
|
||||||
|
System.out.println("Geben Sie den Typ des Mediums ein (Buch, Cd, Brettspiel, Dvd, Videospiel): ");
|
||||||
|
String type = scanner.nextLine();
|
||||||
|
|
||||||
|
System.out.println("Geben Sie die ID des Mediums ein: ");
|
||||||
|
String id = scanner.nextLine();
|
||||||
|
|
||||||
|
System.out.println("Geben Sie den Titel des Mediums ein: ");
|
||||||
|
String title = scanner.nextLine();
|
||||||
|
|
||||||
|
System.out.println("Geben Sie das Erscheinungsjahr ein: ");
|
||||||
|
int erscheinungsjahr = scanner.nextInt();
|
||||||
|
scanner.nextLine();
|
||||||
|
|
||||||
|
System.out.println("Geben Sie den Macher (Autor/Regisseur/Entwickler) ein: ");
|
||||||
|
String ersteller = scanner.nextLine();
|
||||||
|
|
||||||
|
System.out.println("Ist das Medium verlängerbar? (ja/nein): ");
|
||||||
|
String verlängerbar = scanner.nextLine();
|
||||||
|
|
||||||
|
System.out.println("Geben Sie die Anzahl der verfügbaren Exemplare ein: ");
|
||||||
|
int anzahl = scanner.nextInt();
|
||||||
|
|
||||||
|
System.out.println("Geben Sie die maximale Leihdauer (in Tagen) ein: ");
|
||||||
|
int leihdauer = scanner.nextInt();
|
||||||
|
scanner.nextLine();
|
||||||
|
|
||||||
|
fassade.mediumsAufladen(type, id, title, erscheinungsjahr, ersteller, verlängerbar, anzahl, leihdauer);
|
||||||
|
System.out.println("Medium erfolgreich hinzugefügt!");
|
||||||
|
|
||||||
|
} catch (FalscheEingabeException e) {
|
||||||
|
System.out.println("Fehler: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -28,7 +28,7 @@ public class AusleiheSystem {
|
||||||
|
|
||||||
this.ausleiheBeginn = LocalDate.now();
|
this.ausleiheBeginn = LocalDate.now();
|
||||||
|
|
||||||
this.ausleiheEnde = ausleiheBeginn.plusWeeks(mediumAusleihen.getLeihdauer());
|
this.ausleiheEnde = ausleiheBeginn.plusDays(mediumAusleihen.getLeihdauer());
|
||||||
|
|
||||||
Ausleihe neueAusleihe = new Ausleihe(mediumAusleihen, benutzer, ausleiheBeginn, ausleiheEnde);
|
Ausleihe neueAusleihe = new Ausleihe(mediumAusleihen, benutzer, ausleiheBeginn, ausleiheEnde);
|
||||||
|
|
||||||
|
@ -127,9 +127,14 @@ public class AusleiheSystem {
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
medium.setVerlängerungen(medium.getVerlängerungen() + 1);
|
medium.setVerlängerungen(medium.getVerlängerungen() + 1);
|
||||||
|
medium.setAusleiheBeginn(LocalDate.now());
|
||||||
|
medium.setAusleiheEnde(LocalDate.now().plusDays(medium.getMediumverwalter().getLeihdauer()));
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private Mediumverwalter findMedium(String eindeutigeKennung) throws MediumNichtGefundenException {
|
private Mediumverwalter findMedium(String eindeutigeKennung) throws MediumNichtGefundenException {
|
||||||
if (medien.containsKey(eindeutigeKennung))
|
if (medien.containsKey(eindeutigeKennung))
|
||||||
return medien.get(eindeutigeKennung);
|
return medien.get(eindeutigeKennung);
|
||||||
|
|
|
@ -8,7 +8,7 @@ public class Mediumverwalter {
|
||||||
private Medium medium;
|
private Medium medium;
|
||||||
private boolean istAusgeliehen;
|
private boolean istAusgeliehen;
|
||||||
|
|
||||||
public Mediumverwalter(boolean verlängerbar, int anzahl, int leihdauer, Medium medium) {
|
public Mediumverwalter( Medium medium, boolean verlängerbar, int anzahl, int leihdauer) {
|
||||||
super();
|
super();
|
||||||
this.verlängerbar = verlängerbar;
|
this.verlängerbar = verlängerbar;
|
||||||
this.anzahl = anzahl;
|
this.anzahl = anzahl;
|
||||||
|
|
|
@ -111,22 +111,54 @@ public class BibSystem {
|
||||||
bibBenutzer.ausleihen(neueAusleihe);
|
bibBenutzer.ausleihen(neueAusleihe);
|
||||||
return "Das Medium wurde erfolgreich ausgeliehen";
|
return "Das Medium wurde erfolgreich ausgeliehen";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Temporäre Test Methode
|
public void mediumsAufladen(String type, String ID, String title, int erscheinungsjahr,String ersteller,String verlängbar,int anzahl,int leihdauer) throws FalscheEingabeException {
|
||||||
|
Mediumverwalter medium;
|
||||||
|
boolean verlängerung = (verlängbar.equalsIgnoreCase("ja")) ? true: false;
|
||||||
|
switch (type) {
|
||||||
|
case "Buch":
|
||||||
|
medium = new Mediumverwalter(new Buch(ID,title,erscheinungsjahr,ersteller),verlängerung,anzahl,leihdauer);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "Cd":
|
||||||
|
medium = new Mediumverwalter(new Cd(ID,title,erscheinungsjahr,ersteller),verlängerung,anzahl,leihdauer);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "Brettspiel":
|
||||||
|
medium = new Mediumverwalter(new Brettspiel(ID,title,erscheinungsjahr,ersteller),verlängerung,anzahl,leihdauer);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "Dvd":
|
||||||
|
medium = new Mediumverwalter(new Dvd(ID,title,erscheinungsjahr,ersteller),verlängerung,anzahl,leihdauer);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "Videospiel":
|
||||||
|
medium = new Mediumverwalter(new Videospiel(ID,title,erscheinungsjahr,ersteller),verlängerung,anzahl,leihdauer);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
throw new FalscheEingabeException("Falsch Eingabe");
|
||||||
|
}
|
||||||
|
|
||||||
|
String getMediumID = medium.getMedium().getID();
|
||||||
|
medien.put(getMediumID, medium);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Test Methode
|
||||||
private void mediumsAufladen() {
|
private void mediumsAufladen() {
|
||||||
Mediumverwalter buch = new Mediumverwalter(true, 10, 28,
|
Mediumverwalter buch = new Mediumverwalter(new Buch("B001", "Effektives Java Programmieren", 2018, "Joshua Bloch"),true, 10, 28);
|
||||||
new Buch("B001", "Effektives Java Programmieren", 2018, "Joshua Bloch"));
|
|
||||||
medien.put(buch.getMedium().getID(), buch);
|
medien.put(buch.getMedium().getID(), buch);
|
||||||
|
|
||||||
Mediumverwalter buchIStAusgeliehen = new Mediumverwalter(true, 10, 28,new Buch("B00", "Effektives C++ Programmieren", 2018, "Joshua Bloch"));
|
Mediumverwalter buchIStAusgeliehen = new Mediumverwalter(new Buch("B00", "Effektives C++ Programmieren", 2018, "Joshua Bloch"),true, 10, 28);
|
||||||
buchIStAusgeliehen.setIstAusgeliehen(true);
|
buchIStAusgeliehen.setIstAusgeliehen(true);
|
||||||
medien.put(buchIStAusgeliehen.getMedium().getID(), buchIStAusgeliehen);
|
medien.put(buchIStAusgeliehen.getMedium().getID(), buchIStAusgeliehen);
|
||||||
|
|
||||||
Mediumverwalter buchIStNichtAusgeliehen = new Mediumverwalter(true, 10, 28,new Buch("BG001", "Javascript lenren", 2018, "Joshua Bloch"));
|
Mediumverwalter buchIStNichtAusgeliehen = new Mediumverwalter(new Buch("BG001", "Javascript lenren", 2018, "Joshua Bloch"),true, 10, 28);
|
||||||
medien.put(buchIStNichtAusgeliehen.getMedium().getID(), buchIStNichtAusgeliehen);
|
medien.put(buchIStNichtAusgeliehen.getMedium().getID(), buchIStNichtAusgeliehen);
|
||||||
|
|
||||||
Mediumverwalter Videospiel = new Mediumverwalter(true, 2, 28,new Videospiel("BG00122", "The Legend of Zelda: Breath of the Wild", 2017, "Nintendo Switch"));
|
Mediumverwalter Videospiel = new Mediumverwalter(new Videospiel("BG00122", "The Legend of Zelda: Breath of the Wild", 2017, "Nintendo Switch"),true, 2, 28);
|
||||||
medien.put(Videospiel.getMedium().getID(), Videospiel);
|
medien.put(Videospiel.getMedium().getID(), Videospiel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,25 +1,14 @@
|
||||||
package main;
|
package main;
|
||||||
|
|
||||||
|
import domain.ExceptionsKlassen.*;
|
||||||
import java.time.LocalDate;
|
|
||||||
|
|
||||||
import domain.ExceptionsKlassen.BenutzerNichtAngemeldetException;
|
|
||||||
import domain.ExceptionsKlassen.FalscheEingabeException;
|
|
||||||
import domain.ExceptionsKlassen.MediumNichtGefundenException;
|
|
||||||
import tui.Tui;
|
import tui.Tui;
|
||||||
|
|
||||||
public class Main {
|
public class Main {
|
||||||
|
|
||||||
public static void main(String[] args) throws FalscheEingabeException, MediumNichtGefundenException, BenutzerNichtAngemeldetException {
|
public static void main(String[] args) throws FalscheEingabeException, MediumNichtGefundenException, BenutzerNichtAngemeldetException {
|
||||||
//new Tui();
|
new Tui();
|
||||||
|
|
||||||
|
|
||||||
// Aktuelles Datum
|
|
||||||
LocalDate today = LocalDate.now();
|
|
||||||
System.out.println("Heutiges Datum: " + today);
|
|
||||||
|
|
||||||
// Datum nach einem Jahr
|
|
||||||
LocalDate oneYearLater = today.plusYears(1);
|
|
||||||
System.out.println("Datum nach einem Jahr: " + oneYearLater);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,181 +3,220 @@ package tui;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
|
|
||||||
import domain.ExceptionsKlassen.BenutzerNichtAngemeldetException;
|
import MedienHinzüfugen.MedienHinzufügen;
|
||||||
import domain.ExceptionsKlassen.BenutzerNichtGefundenException;
|
import domain.ExceptionsKlassen.*;
|
||||||
import domain.ExceptionsKlassen.FalscheEingabeException;
|
|
||||||
import domain.ExceptionsKlassen.MediumNichtGefundenException;
|
|
||||||
import domain.fassade.BibSystem;
|
import domain.fassade.BibSystem;
|
||||||
|
|
||||||
public class Tui {
|
public class Tui {
|
||||||
private BibSystem fassade;
|
private BibSystem fassade;
|
||||||
private Scanner eingabe = new Scanner(System.in);
|
private Scanner eingabe;
|
||||||
|
private MedienHinzufügen mediumsHinzufügen;
|
||||||
public Tui() throws FalscheEingabeException, MediumNichtGefundenException, BenutzerNichtAngemeldetException {
|
|
||||||
this.fassade = new BibSystem();
|
|
||||||
startBibProgramm();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void startBibProgramm() throws FalscheEingabeException, MediumNichtGefundenException, BenutzerNichtAngemeldetException {
|
|
||||||
String aktion;
|
|
||||||
System.out.println("<< Willkommen in der Bibliothek >>");
|
|
||||||
|
|
||||||
boolean programmIstAktiv = true;
|
|
||||||
while(programmIstAktiv) {
|
|
||||||
System.out.println("1.Registrieren");
|
|
||||||
System.out.println("2.Anmelden");
|
|
||||||
System.out.println("4.Medien Durchsuchen");
|
|
||||||
System.out.println("3.Ausleihen eines Gegenstandes");
|
|
||||||
System.out.println("5.Rückgabe eines Gegenstandes");
|
|
||||||
System.out.println("6.Ausgeliehene Gegenstände, Fälligkeitsdaten und aufgelaufene Gebühren anzeigen");
|
|
||||||
System.out.println("7.Verlängern der Leihfrist");
|
|
||||||
System.out.println("8.Verbuchen von überfälligen Gebühren (Admin)");
|
|
||||||
System.out.println("9.Gebühren berechnen");
|
|
||||||
System.out.println("Wählen Sie bitte eine Aktion aus: ");
|
|
||||||
System.out.print(">");
|
|
||||||
aktion = eingabe.nextLine();
|
|
||||||
|
|
||||||
switch(aktion) {
|
|
||||||
case "1":
|
|
||||||
registrierenProzess();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "2":
|
|
||||||
anmeldenProzess();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "3":
|
|
||||||
mediumDurchsuchenProzess();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "4":
|
|
||||||
mediumAusleihenProzess();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "5":
|
|
||||||
mediumsRückgabeProzess();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void mediumsRückgabeProzess() throws FalscheEingabeException, MediumNichtGefundenException, BenutzerNichtAngemeldetException {
|
|
||||||
String eindutigekennung;
|
|
||||||
boolean mediumsRückgabeProzess = true;
|
|
||||||
|
|
||||||
while (mediumsRückgabeProzess) {
|
public Tui() {
|
||||||
System.out.println("Geben Sie bitte das eindutige Kennung des Mediums an");
|
this.fassade = new BibSystem();
|
||||||
eindutigekennung = eingabe.nextLine();
|
this.eingabe = new Scanner(System.in);
|
||||||
ArrayList<String> ausgeliehneMedien = fassade.medienRückgabe(eindutigekennung);
|
this.mediumsHinzufügen = new MedienHinzufügen(fassade);
|
||||||
System.out.println("Medium ist erfolgreich zurückgegeben");
|
|
||||||
if (ausgeliehneMedien.size() == 0)
|
|
||||||
System.out.println("Sie haben keine Mediums mehr");
|
|
||||||
|
|
||||||
else
|
|
||||||
ausgeliehneMedien.stream().forEach(System.out::println);
|
|
||||||
|
|
||||||
startBibProgramm();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void mediumAusleihenProzess(){
|
|
||||||
String kartennummer;
|
|
||||||
String eindutigeKennung;
|
|
||||||
boolean mediumAusleihenProzess = true;
|
|
||||||
|
|
||||||
System.out.println("Geben Sie bitte Ihre kartennummer");
|
|
||||||
System.out.print(">");
|
|
||||||
kartennummer = eingabe.nextLine();
|
|
||||||
while(mediumAusleihenProzess) {
|
|
||||||
System.out.println("Geben Sie bitte die eindutige Kennung des Mediums");
|
|
||||||
System.out.print(">");
|
|
||||||
eindutigeKennung = eingabe.nextLine();
|
|
||||||
|
|
||||||
System.out.println("Geben Sie bitte den Datum ein");
|
|
||||||
System.out.println("Geben Sie bitte die Ausleihebeginn");
|
|
||||||
|
|
||||||
try {
|
System.out.println("<< Willkommen in der Bibliothek >>");
|
||||||
System.out.println(fassade.mediumAusleihen(kartennummer, eindutigeKennung));
|
try {
|
||||||
|
startBibProgramm();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
System.out.println(e.getMessage());
|
System.out.println("Ein unerwarteter Fehler ist aufgetreten: " + e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private void mediumDurchsuchenProzess() throws FalscheEingabeException, MediumNichtGefundenException, BenutzerNichtAngemeldetException {
|
|
||||||
String auswahl;
|
|
||||||
String bibKartennummer;
|
|
||||||
boolean mediumDurchsuchenProzess = true;
|
|
||||||
System.out.println("Wählen Sie bitte aus, wonache Sie suchen möchten");
|
|
||||||
while (mediumDurchsuchenProzess) {
|
|
||||||
System.out.println("Katalog der Bibliothek: ");
|
|
||||||
System.out.println("Title");
|
|
||||||
System.out.println("Ausgeliehene Medien");
|
|
||||||
System.out.println("Nicht Ausgeliehene Medien");
|
|
||||||
System.out.println("Medienart (Bücher,Brettspiele,Dvds,Cds oder Videospiele");
|
|
||||||
System.out.println("zurück");
|
|
||||||
auswahl = eingabe.nextLine();
|
|
||||||
if (auswahl.equalsIgnoreCase("zurück")){
|
|
||||||
mediumDurchsuchenProzess = false;
|
|
||||||
startBibProgramm();
|
|
||||||
}
|
|
||||||
System.out.println("gebe Sie nun Ihre BibKartenummer");
|
|
||||||
bibKartennummer = eingabe.nextLine();
|
|
||||||
|
|
||||||
fassade.mediumDurchsuchen(auswahl, bibKartennummer);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
private void startBibProgramm() {
|
||||||
|
boolean programmIstAktiv = true;
|
||||||
private void anmeldenProzess() throws FalscheEingabeException, MediumNichtGefundenException, BenutzerNichtAngemeldetException {
|
|
||||||
String kartennummer;
|
|
||||||
System.out.println("Geben Sie bitte die Kartennummer Ihres Bibliotheksausweises an: ");
|
|
||||||
System.out.print(">");
|
|
||||||
kartennummer = eingabe.nextLine();
|
|
||||||
try {
|
|
||||||
if (fassade.userAnmdelden(kartennummer))
|
|
||||||
System.out.println("Sie sind nun im System Angemeldet");
|
|
||||||
} catch (BenutzerNichtGefundenException e) {
|
|
||||||
System.out.println(e.getMessage());
|
|
||||||
}
|
|
||||||
startBibProgramm();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void registrierenProzess() throws MediumNichtGefundenException, BenutzerNichtAngemeldetException {
|
|
||||||
boolean registrierenProzess = true;
|
|
||||||
String name;
|
|
||||||
int alter;
|
|
||||||
String type;
|
|
||||||
String istAdmin;
|
|
||||||
|
|
||||||
while (registrierenProzess) {
|
while (programmIstAktiv) {
|
||||||
System.out.println("Name: ");
|
zeigeHauptmenü();
|
||||||
System.out.print(">");
|
System.out.print("> ");
|
||||||
name = eingabe.nextLine();
|
String aktion = eingabe.nextLine();
|
||||||
System.out.println("Alter: ");
|
|
||||||
System.out.print(">");
|
|
||||||
alter = eingabe.nextInt();
|
|
||||||
System.out.println("sind Sie Schüler oder Student: Ja/Nein");
|
|
||||||
System.out.print(">");
|
|
||||||
type = eingabe.nextLine();
|
|
||||||
System.out.println("Admin: Ja/Nein");
|
|
||||||
System.out.print(">");
|
|
||||||
istAdmin = eingabe.nextLine();
|
|
||||||
try {
|
|
||||||
fassade.userRegistrieren(name, type, alter, istAdmin);
|
|
||||||
registrierenProzess = false;
|
|
||||||
startBibProgramm();
|
|
||||||
} catch (FalscheEingabeException e) {
|
|
||||||
System.out.println(e.getMessage());
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
try {
|
||||||
|
switch (aktion) {
|
||||||
|
case "1":
|
||||||
|
registrierenProzess();
|
||||||
|
break;
|
||||||
|
case "2":
|
||||||
|
anmeldenProzess();
|
||||||
|
break;
|
||||||
|
case "3":
|
||||||
|
mediumDurchsuchenProzess();
|
||||||
|
break;
|
||||||
|
case "4":
|
||||||
|
mediumAusleihenProzess();
|
||||||
|
break;
|
||||||
|
case "5":
|
||||||
|
mediumsRückgabeProzess();
|
||||||
|
break;
|
||||||
|
case "6":
|
||||||
|
zeigeAusgelieheneGegenstände();
|
||||||
|
break;
|
||||||
|
case "7":
|
||||||
|
mediumsVerlängernProzess();
|
||||||
|
break;
|
||||||
|
case "8":
|
||||||
|
verbucheGebührenProzess();
|
||||||
|
break;
|
||||||
|
case "0":
|
||||||
|
programmIstAktiv = false;
|
||||||
|
System.out.println("Programm beendet.");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
System.out.println("Ungültige Eingabe. Bitte wählen Sie eine gültige Option.");
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("Fehler: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
private void zeigeHauptmenü() {
|
||||||
|
System.out.println("\nHauptmenü:");
|
||||||
|
System.out.println("1. Registrieren");
|
||||||
|
System.out.println("2. Anmelden");
|
||||||
|
System.out.println("3. Medien durchsuchen");
|
||||||
|
System.out.println("4. Medium ausleihen");
|
||||||
|
System.out.println("5. Medium zurückgeben");
|
||||||
|
System.out.println("6. Ausgeliehene Gegenstände anzeigen");
|
||||||
|
System.out.println("7. Leihfrist verlängern");
|
||||||
|
System.out.println("8. Gebühren verbuchen (Admin)");
|
||||||
|
System.out.println("0. Programm beenden");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void registrierenProzess() {
|
||||||
|
System.out.println("<< Registrierung >>");
|
||||||
|
|
||||||
|
System.out.print("Name: ");
|
||||||
|
String name = eingabe.nextLine();
|
||||||
|
|
||||||
|
System.out.print("Alter: ");
|
||||||
|
int alter = Integer.parseInt(eingabe.nextLine());
|
||||||
|
|
||||||
|
System.out.print("Sind Sie Schüler oder Student? (Ja/Nein): ");
|
||||||
|
String type = eingabe.nextLine();
|
||||||
|
|
||||||
|
System.out.print("Sind Sie ein Admin? (Ja/Nein): ");
|
||||||
|
String istAdmin = eingabe.nextLine();
|
||||||
|
|
||||||
|
try {
|
||||||
|
fassade.userRegistrieren(name, type, alter, istAdmin);
|
||||||
|
System.out.println("Registrierung erfolgreich!");
|
||||||
|
} catch (FalscheEingabeException e) {
|
||||||
|
System.out.println("Fehler: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void anmeldenProzess() {
|
||||||
|
System.out.println("<< Anmeldung >>");
|
||||||
|
|
||||||
|
System.out.print("Kartennummer: ");
|
||||||
|
String kartennummer = eingabe.nextLine();
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (fassade.userAnmdelden(kartennummer)) {
|
||||||
|
System.out.println("Erfolgreich angemeldet.");
|
||||||
|
}
|
||||||
|
} catch (BenutzerNichtGefundenException e) {
|
||||||
|
System.out.println("Fehler: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void mediumDurchsuchenProzess() {
|
||||||
|
System.out.println("<< Medien durchsuchen >>");
|
||||||
|
System.out.print("Suchkriterium (z. B. Titel, Medienart): ");
|
||||||
|
String auswahl = eingabe.nextLine();
|
||||||
|
|
||||||
|
System.out.print("BibKartennummer: ");
|
||||||
|
String bibKartennummer = eingabe.nextLine();
|
||||||
|
|
||||||
|
try {
|
||||||
|
fassade.mediumDurchsuchen(auswahl, bibKartennummer);
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("Fehler: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void mediumAusleihenProzess() {
|
||||||
|
System.out.println("<< Medium ausleihen >>");
|
||||||
|
|
||||||
|
System.out.print("Kartennummer: ");
|
||||||
|
String kartennummer = eingabe.nextLine();
|
||||||
|
|
||||||
|
System.out.print("Eindeutige Kennung des Mediums: ");
|
||||||
|
String eindeutigeKennung = eingabe.nextLine();
|
||||||
|
|
||||||
|
try {
|
||||||
|
System.out.println(fassade.mediumAusleihen(kartennummer, eindeutigeKennung));
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("Fehler: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void mediumsRückgabeProzess() {
|
||||||
|
System.out.println("<< Medium zurückgeben >>");
|
||||||
|
|
||||||
|
System.out.print("Eindeutige Kennung des Mediums: ");
|
||||||
|
String eindeutigeKennung = eingabe.nextLine();
|
||||||
|
|
||||||
|
try {
|
||||||
|
ArrayList<String> ausgelieheneMedien = fassade.medienRückgabe(eindeutigeKennung);
|
||||||
|
System.out.println("Medium erfolgreich zurückgegeben.");
|
||||||
|
|
||||||
|
if (ausgelieheneMedien.isEmpty())
|
||||||
|
System.out.println("Sie haben keine weiteren ausgeliehenen Medien.");
|
||||||
|
else {
|
||||||
|
System.out.println("Ihre verbleibenden ausgeliehenen Medien:");
|
||||||
|
ausgelieheneMedien.forEach(System.out::println);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("Fehler: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void mediumsVerlängernProzess() {
|
||||||
|
System.out.println("<< Leihfrist verlängern >>");
|
||||||
|
|
||||||
|
System.out.print("BibKartennummer: ");
|
||||||
|
String bibKartennummer = eingabe.nextLine();
|
||||||
|
|
||||||
|
System.out.print("Eindeutige Kennung des Mediums: ");
|
||||||
|
String eindeutigeKennung = eingabe.nextLine();
|
||||||
|
|
||||||
|
try {
|
||||||
|
fassade.medienVerlängern(eindeutigeKennung, bibKartennummer);
|
||||||
|
System.out.println("Leihfrist erfolgreich verlängert.");
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("Fehler: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void zeigeAusgelieheneGegenstände() {
|
||||||
|
System.out.println("<< Ausgeliehene Gegenstände anzeigen >>");
|
||||||
|
|
||||||
|
System.out.print("BibKartennummer: ");
|
||||||
|
String bibKartennummer = eingabe.nextLine();
|
||||||
|
|
||||||
|
try {
|
||||||
|
// fassade.zeigeAusgelieheneGegenstände(bibKartennummer);
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("Fehler: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void verbucheGebührenProzess() {
|
||||||
|
System.out.println("<< Gebühren verbuchen >>");
|
||||||
|
|
||||||
|
System.out.print("BibKartennummer des Nutzers: ");
|
||||||
|
String bibKartennummer = eingabe.nextLine();
|
||||||
|
|
||||||
|
try {
|
||||||
|
// fassade.verbucheGebühren(bibKartennummer);
|
||||||
|
System.out.println("Gebühren erfolgreich verbucht.");
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("Fehler: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue