fertig.
parent
23967f0262
commit
148328772e
|
@ -1,4 +1,4 @@
|
||||||
class Benutzer {
|
abstract class Benutzer {
|
||||||
private String name;
|
private String name;
|
||||||
private String nachname;
|
private String nachname;
|
||||||
private int kundennummer;
|
private int kundennummer;
|
||||||
|
@ -7,7 +7,7 @@ class Benutzer {
|
||||||
private double gebuehren; // Aktuelle ausstehende Gebühren des Benutzers
|
private double gebuehren; // Aktuelle ausstehende Gebühren des Benutzers
|
||||||
|
|
||||||
// Konstruktor
|
// Konstruktor
|
||||||
public Benutzer(String name, String nachname, int kundennummer, String art) {
|
public Benutzer(String name, String nachname, int kundennummer, String art) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.nachname = nachname;
|
this.nachname = nachname;
|
||||||
this.kundennummer = kundennummer;
|
this.kundennummer = kundennummer;
|
||||||
|
|
|
@ -15,7 +15,7 @@ public class Main {
|
||||||
verwaltung.mediensListe.add(creator.factoryMedien("Minecraft", "Mojang", 9, "videospiel", 0));
|
verwaltung.mediensListe.add(creator.factoryMedien("Minecraft", "Mojang", 9, "videospiel", 0));
|
||||||
verwaltung.mediensListe.add(creator.factoryMedien("The Witcher 3", "CD Projekt", 10, "videospiel", 0));
|
verwaltung.mediensListe.add(creator.factoryMedien("The Witcher 3", "CD Projekt", 10, "videospiel", 0));
|
||||||
|
|
||||||
// Ui mit der Verwaltung-Instanz initialisieren
|
// Ui mit der Verwaltung-Instanz initialisieren7
|
||||||
Ui ui = new Ui(verwaltung);
|
Ui ui = new Ui(verwaltung);
|
||||||
ui.anmeldung();
|
ui.anmeldung();
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,7 +100,7 @@ public abstract class Medien implements Ausleihbar {
|
||||||
private String regisseur;
|
private String regisseur;
|
||||||
|
|
||||||
public Dvds(String name, String regisseur, int id) {
|
public Dvds(String name, String regisseur, int id) {
|
||||||
super(name, id, 1, 0); // Frist für DVDs ist 1 Woche, keine Verlängerung möglich
|
super(name, id, 7, 0); // Frist für DVDs ist 1 Woche, keine Verlängerung möglich
|
||||||
this.regisseur = regisseur;
|
this.regisseur = regisseur;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -118,7 +118,7 @@ public abstract class Medien implements Ausleihbar {
|
||||||
// Unterklasse für CDs
|
// Unterklasse für CDs
|
||||||
public static class Cds extends Medien {
|
public static class Cds extends Medien {
|
||||||
public Cds(String name, int id) {
|
public Cds(String name, int id) {
|
||||||
super(name, id, 2, 0); // Frist für CDs ist 2 Wochen, keine Verlängerung möglich
|
super(name, id, 14, 0); // Frist für CDs ist 2 Wochen, keine Verlängerung möglich
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -130,7 +130,7 @@ public abstract class Medien implements Ausleihbar {
|
||||||
// Unterklasse für Brettspiele
|
// Unterklasse für Brettspiele
|
||||||
public static class Brettspiel extends Medien {
|
public static class Brettspiel extends Medien {
|
||||||
public Brettspiel(String name, int id) {
|
public Brettspiel(String name, int id) {
|
||||||
super(name, id, 2, 0); // Frist für Brettspiele ist 2 Wochen, keine Verlängerung möglich
|
super(name, id, 14, 0); // Frist für Brettspiele ist 2 Wochen, keine Verlängerung möglich
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -144,7 +144,7 @@ public abstract class Medien implements Ausleihbar {
|
||||||
private String entwickler;
|
private String entwickler;
|
||||||
|
|
||||||
public Videospiel(String name, String entwickler, int id) {
|
public Videospiel(String name, String entwickler, int id) {
|
||||||
super(name, id, 4, 1); // Frist für Videospiele ist 4 Wochen, einmal verlängerbar
|
super(name, id, 28, 1); // Frist für Videospiele ist 4 Wochen, einmal verlängerbar
|
||||||
this.entwickler = entwickler;
|
this.entwickler = entwickler;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
175
Ui.java
175
Ui.java
|
@ -1,12 +1,14 @@
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.util.*;
|
|
||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
public class Ui {
|
public class Ui {
|
||||||
private final Scanner scanner = new Scanner(System.in);
|
private final Scanner scanner = new Scanner(System.in);
|
||||||
private final Verwaltung verwaltung;
|
private final Verwaltung verwaltung;
|
||||||
|
|
||||||
// Konstruktor, der eine Verwaltung-Instanz annimmt
|
// Zeitversatz für Tests
|
||||||
|
private LocalDate aktuelleZeit = LocalDate.now();
|
||||||
|
|
||||||
public Ui(Verwaltung verwaltung) {
|
public Ui(Verwaltung verwaltung) {
|
||||||
this.verwaltung = verwaltung;
|
this.verwaltung = verwaltung;
|
||||||
}
|
}
|
||||||
|
@ -23,20 +25,22 @@ public class Ui {
|
||||||
System.out.println("6: Verbuchen von überfälligen Gebühren (Admin)");
|
System.out.println("6: Verbuchen von überfälligen Gebühren (Admin)");
|
||||||
System.out.println("7: Registrieren");
|
System.out.println("7: Registrieren");
|
||||||
System.out.println("8: Anmelden");
|
System.out.println("8: Anmelden");
|
||||||
|
System.out.println("9: Zeit verschieben (Testoption)");
|
||||||
System.out.println("0: Programm beenden");
|
System.out.println("0: Programm beenden");
|
||||||
|
|
||||||
int menue = scanner.nextInt();
|
int menue = scanner.nextInt();
|
||||||
scanner.nextLine(); // Leert den Puffer nach nextInt()
|
scanner.nextLine(); // Leert den Puffer nach nextInt()
|
||||||
|
|
||||||
switch (menue) {
|
switch (menue) {
|
||||||
case 1 -> suchenNachMedien(); // Keine Anmeldung erforderlich
|
case 1 -> suchenNachMedien();
|
||||||
case 2 -> ausleihen();
|
case 2 -> ausleihen();
|
||||||
case 3 -> rueckgabeDurchfuehren();
|
case 3 -> rueckgabeDurchfuehren();
|
||||||
case 4 -> gebuehrenEinsehen();
|
case 4 -> gebuehrenEinsehen();
|
||||||
case 5 -> verlaengern();
|
case 5 -> verlaengern();
|
||||||
case 6 -> adminrechte();
|
case 6 -> adminrechte();
|
||||||
case 7 -> registrieren(); // Registrieren
|
case 7 -> registrieren();
|
||||||
case 8 -> anmelden(); // Anmelden
|
case 8 -> anmelden();
|
||||||
|
case 9 -> zeitVerschieben();
|
||||||
case 0 -> {
|
case 0 -> {
|
||||||
System.out.println("Programm wird beendet. Auf Wiedersehen!");
|
System.out.println("Programm wird beendet. Auf Wiedersehen!");
|
||||||
running = false;
|
running = false;
|
||||||
|
@ -60,29 +64,22 @@ public class Ui {
|
||||||
System.out.print(medien.getName());
|
System.out.print(medien.getName());
|
||||||
|
|
||||||
if (medien.istAusgeliehen) {
|
if (medien.istAusgeliehen) {
|
||||||
// Wenn das Medium ausgeliehen ist, gibt es das Rückgabedatum an
|
|
||||||
Optional<Aausleihe> ausleiheOpt = verwaltung.ausliste.stream()
|
Optional<Aausleihe> ausleiheOpt = verwaltung.ausliste.stream()
|
||||||
.filter(ausleihe -> ausleihe.getMedien().equals(medien))
|
.filter(ausleihe -> ausleihe.getMedien().equals(medien))
|
||||||
.findFirst();
|
.findFirst();
|
||||||
|
|
||||||
if (ausleiheOpt.isPresent()) {
|
if (ausleiheOpt.isPresent()) {
|
||||||
Aausleihe ausleihe = ausleiheOpt.get();
|
Aausleihe ausleihe = ausleiheOpt.get();
|
||||||
LocalDate rueckgabedatum = ausleihe.getDate().plusWeeks(medien.frist); // Berechnet das Rückgabedatum
|
LocalDate rueckgabedatum = ausleihe.getDate().plusWeeks(medien.frist);
|
||||||
System.out.println(" ist ausgeliehen. Rückgabedatum: " + rueckgabedatum);
|
System.out.println(" ist ausgeliehen. Rückgabedatum: " + rueckgabedatum);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
System.out.println(" ist verfügbar.");
|
System.out.println(" ist verfügbar.");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hier können noch weitere Details zum Medium ausgegeben werden, falls erforderlich
|
|
||||||
System.out.println("Typ: " + medien.getClass().getSimpleName()); // Zeigt den Typ des Mediums an
|
|
||||||
// Weitere Details wie Autor, Jahr, etc. je nach Medium-Typ könnten hier hinzugefügt werden
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Registrierungsmethode
|
|
||||||
private void registrieren() {
|
private void registrieren() {
|
||||||
System.out.print("Geben Sie Ihren Vornamen ein: ");
|
System.out.print("Geben Sie Ihren Vornamen ein: ");
|
||||||
String name = scanner.nextLine();
|
String name = scanner.nextLine();
|
||||||
|
@ -93,21 +90,17 @@ public class Ui {
|
||||||
System.out.print("Für Student geben Sie 's' und für Erwachsener 'e' ein: ");
|
System.out.print("Für Student geben Sie 's' und für Erwachsener 'e' ein: ");
|
||||||
String artInput = scanner.nextLine();
|
String artInput = scanner.nextLine();
|
||||||
|
|
||||||
// Generiere eine neue, eindeutige Kundennummer
|
|
||||||
int genkundennummer = verwaltung.generiereEindeutigeKundennummer();
|
int genkundennummer = verwaltung.generiereEindeutigeKundennummer();
|
||||||
|
|
||||||
// Erstelle einen neuen Benutzer
|
|
||||||
Benutzer neuerBenutzer = Creator.factoryBenutzer(name, nachname, genkundennummer, artInput.toLowerCase());
|
Benutzer neuerBenutzer = Creator.factoryBenutzer(name, nachname, genkundennummer, artInput.toLowerCase());
|
||||||
|
|
||||||
if (neuerBenutzer != null) {
|
if (neuerBenutzer != null) {
|
||||||
verwaltung.benutzerListe.add(neuerBenutzer); // Benutzer zur Verwaltungsliste hinzufügen
|
verwaltung.benutzerListe.add(neuerBenutzer);
|
||||||
System.out.println("Registrierung erfolgreich! Ihre Kundennummer lautet: " + genkundennummer);
|
System.out.println("Registrierung erfolgreich! Ihre Kundennummer lautet: " + genkundennummer);
|
||||||
} else {
|
} else {
|
||||||
System.out.println("Ungültige Art. Versuchen Sie es erneut.");
|
System.out.println("Ungültige Art. Versuchen Sie es erneut.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Anmeldemethode
|
|
||||||
private Benutzer anmelden() {
|
private Benutzer anmelden() {
|
||||||
System.out.print("Geben Sie Ihre Kundennummer zur Anmeldung ein: ");
|
System.out.print("Geben Sie Ihre Kundennummer zur Anmeldung ein: ");
|
||||||
int eingabeKundennummer = scanner.nextInt();
|
int eingabeKundennummer = scanner.nextInt();
|
||||||
|
@ -126,7 +119,6 @@ public class Ui {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ausleihen eines Mediums
|
|
||||||
private void ausleihen() {
|
private void ausleihen() {
|
||||||
Benutzer benutzer = anmelden();
|
Benutzer benutzer = anmelden();
|
||||||
if (benutzer == null) {
|
if (benutzer == null) {
|
||||||
|
@ -145,8 +137,7 @@ public class Ui {
|
||||||
if (optionalMedien.isPresent()) {
|
if (optionalMedien.isPresent()) {
|
||||||
Medien medien = optionalMedien.get();
|
Medien medien = optionalMedien.get();
|
||||||
if (!medien.istAusgeliehen()) {
|
if (!medien.istAusgeliehen()) {
|
||||||
LocalDate heute = LocalDate.now();
|
verwaltung.addAL(medien, benutzer, aktuelleZeit, null);
|
||||||
verwaltung.addAL(medien, benutzer, heute, null);
|
|
||||||
System.out.println("Das Medium wurde erfolgreich ausgeliehen.");
|
System.out.println("Das Medium wurde erfolgreich ausgeliehen.");
|
||||||
} else {
|
} else {
|
||||||
System.out.println("Das Medium ist bereits ausgeliehen.");
|
System.out.println("Das Medium ist bereits ausgeliehen.");
|
||||||
|
@ -156,7 +147,6 @@ public class Ui {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Rückgabe eines Mediums
|
|
||||||
private void rueckgabeDurchfuehren() {
|
private void rueckgabeDurchfuehren() {
|
||||||
Benutzer benutzer = anmelden();
|
Benutzer benutzer = anmelden();
|
||||||
if (benutzer == null) {
|
if (benutzer == null) {
|
||||||
|
@ -173,34 +163,7 @@ public class Ui {
|
||||||
.findFirst();
|
.findFirst();
|
||||||
|
|
||||||
if (optionalMedien.isPresent()) {
|
if (optionalMedien.isPresent()) {
|
||||||
Medien medien = optionalMedien.get();
|
verwaltung.rueckgabe(id, benutzer, aktuelleZeit);
|
||||||
|
|
||||||
// Benutzer nach einem Rückgabedatum fragen
|
|
||||||
System.out.println("Aktuelles Rückgabedatum: " + LocalDate.now());
|
|
||||||
System.out.print("Möchten Sie das Rückgabedatum ändern? (ja/nein): ");
|
|
||||||
String antwort = scanner.nextLine();
|
|
||||||
|
|
||||||
LocalDate rueckgabedatum;
|
|
||||||
if (antwort.equalsIgnoreCase("ja")) {
|
|
||||||
// Benutzer nach einem neuen Rückgabedatum fragen
|
|
||||||
System.out.print("Geben Sie das Rückgabedatum im Format JJJJ-MM-TT ein: ");
|
|
||||||
String datumInput = scanner.nextLine();
|
|
||||||
|
|
||||||
// Versuch, das Datum zu parsen
|
|
||||||
try {
|
|
||||||
rueckgabedatum = LocalDate.parse(datumInput);
|
|
||||||
System.out.println("Das Rückgabedatum wurde auf " + rueckgabedatum + " gesetzt.");
|
|
||||||
} catch (Exception e) {
|
|
||||||
System.out.println("Ungültiges Datum. Rückgabe wird mit dem heutigen Datum durchgeführt.");
|
|
||||||
rueckgabedatum = LocalDate.now(); // Standard auf das heutige Datum
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// Standardmäßig wird das heutige Datum verwendet
|
|
||||||
rueckgabedatum = LocalDate.now();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Rückgabe durchführen
|
|
||||||
verwaltung.rueckgabe(id, benutzer, rueckgabedatum);
|
|
||||||
System.out.println("Das Medium wurde erfolgreich zurückgegeben.");
|
System.out.println("Das Medium wurde erfolgreich zurückgegeben.");
|
||||||
} else {
|
} else {
|
||||||
System.out.println("Medium mit dieser ID nicht gefunden.");
|
System.out.println("Medium mit dieser ID nicht gefunden.");
|
||||||
|
@ -208,45 +171,6 @@ public class Ui {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void gebuehrenEinsehen() {
|
|
||||||
Benutzer benutzer = anmelden();
|
|
||||||
if (benutzer == null) {
|
|
||||||
System.out.println("Sie müssen sich zuerst anmelden.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
System.out.println("Ihre ausstehenden Gebühren:");
|
|
||||||
|
|
||||||
// Liste der ausgeliehenen Medien des Benutzers
|
|
||||||
List<Aausleihe> ausleihen = verwaltung.getAusleihenByBenutzer(benutzer);
|
|
||||||
|
|
||||||
if (ausleihen.isEmpty()) {
|
|
||||||
System.out.println("Sie haben keine ausgeliehenen Medien.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Aktuelles Datum
|
|
||||||
LocalDate heute = LocalDate.now();
|
|
||||||
|
|
||||||
// Durchlaufe alle ausgeliehenen Medien und berechne mögliche Gebühren
|
|
||||||
for (Aausleihe ausleihe : ausleihen) {
|
|
||||||
Medien medien = ausleihe.getMedien();
|
|
||||||
LocalDate faelligkeitsdatum = ausleihe.getDate().plusWeeks(medien.frist); // Annahme: `frist` gibt die Leihfrist in Wochen an
|
|
||||||
|
|
||||||
double gebuehr = 0;
|
|
||||||
if (heute.isAfter(faelligkeitsdatum)) {
|
|
||||||
long ueberfaelligeWochen = ChronoUnit.WEEKS.between(faelligkeitsdatum, heute);
|
|
||||||
gebuehr = ueberfaelligeWochen * 2.0; // Beispiel: 2 EUR pro überfälliger Woche
|
|
||||||
}
|
|
||||||
|
|
||||||
// Gebühr und Fälligkeitsdatum ausgeben
|
|
||||||
System.out.println("Medium: " + medien.getName() +
|
|
||||||
", Fälligkeitsdatum: " + faelligkeitsdatum +
|
|
||||||
", Überfällige Wochen: " + (heute.isAfter(faelligkeitsdatum) ? ChronoUnit.WEEKS.between(faelligkeitsdatum, heute) : 0) +
|
|
||||||
", Gebühr: " + gebuehr + " EUR");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void verlaengern() {
|
private void verlaengern() {
|
||||||
Benutzer benutzer = anmelden();
|
Benutzer benutzer = anmelden();
|
||||||
if (benutzer == null) {
|
if (benutzer == null) {
|
||||||
|
@ -282,24 +206,85 @@ public class Ui {
|
||||||
} else {
|
} else {
|
||||||
System.out.println("Falsche Admin-Zugangsdaten.");
|
System.out.println("Falsche Admin-Zugangsdaten.");
|
||||||
}
|
}
|
||||||
|
System.out.println("möchten sie zahlungen löschem geben sie benutzer id ein");
|
||||||
|
int id=scanner.nextInt();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void verbucheUeberfaelligeGebuehren() {
|
private void verbucheUeberfaelligeGebuehren() {
|
||||||
System.out.println("Verbuchen überfälliger Gebühren:");
|
System.out.println("Verbuchen überfälliger Gebühren:");
|
||||||
|
|
||||||
LocalDate heute = LocalDate.now();
|
|
||||||
|
|
||||||
for (Aausleihe ausleihe : verwaltung.ausliste) {
|
for (Aausleihe ausleihe : verwaltung.ausliste) {
|
||||||
Medien medien = ausleihe.getMedien();
|
Medien medien = ausleihe.getMedien();
|
||||||
Benutzer benutzer = ausleihe.getBenutzer();
|
Benutzer benutzer = ausleihe.getBenutzer();
|
||||||
LocalDate faelligkeitsdatum = ausleihe.getDate().plusWeeks(medien.frist);
|
LocalDate faelligkeitsdatum = ausleihe.getDate().plusDays(medien.frist);
|
||||||
|
|
||||||
if (heute.isAfter(faelligkeitsdatum)) {
|
if (aktuelleZeit.isAfter(faelligkeitsdatum)) {
|
||||||
long ueberfaelligeWochen = ChronoUnit.WEEKS.between(faelligkeitsdatum, heute);
|
long ueberfaelligeWochen = ChronoUnit.DAYS.between(faelligkeitsdatum, aktuelleZeit);
|
||||||
double gebuehr = ueberfaelligeWochen * 2.0; // Beispiel: 2 EUR pro Woche überfällig
|
double gebuehr = ueberfaelligeWochen;
|
||||||
System.out.println("Benutzer: " + benutzer.getName() + ", Medium: " + medien.getName() +
|
System.out.println("Benutzer: " + benutzer.getName() + ", Medium: " + medien.getName() +
|
||||||
", Überfällige Wochen: " + ueberfaelligeWochen + ", Gebühr: " + gebuehr + " EUR");
|
", Überfällige Wochen: " + ueberfaelligeWochen + ", Gebühr: " + gebuehr + " EUR");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
private void gebuehrenEinsehen() {
|
||||||
|
Benutzer benutzer = anmelden();
|
||||||
|
if (benutzer == null) {
|
||||||
|
System.out.println("Sie müssen sich zuerst anmelden.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("Ihre ausstehenden Gebühren:");
|
||||||
|
List<Aausleihe> ausleihen = verwaltung.getAusleihenByBenutzer(benutzer);
|
||||||
|
|
||||||
|
if (ausleihen.isEmpty()) {
|
||||||
|
System.out.println("Sie haben keine ausgeliehenen Medien.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean hatAusgelieheneMedien = false;
|
||||||
|
|
||||||
|
for (Aausleihe ausleihe : ausleihen) {
|
||||||
|
Medien medien = ausleihe.getMedien();
|
||||||
|
|
||||||
|
// Prüfen, ob das Medium ausgeliehen ist
|
||||||
|
if (!medien.istAusgeliehen()) {
|
||||||
|
continue; // Überspringt Medien, die nicht ausgeliehen sind
|
||||||
|
}
|
||||||
|
|
||||||
|
hatAusgelieheneMedien = true; // Mindestens ein Medium ist ausgeliehen
|
||||||
|
|
||||||
|
LocalDate faelligkeitsdatum = ausleihe.getDate().plusWeeks(medien.frist);
|
||||||
|
double gebuehr = 0;
|
||||||
|
|
||||||
|
// Gebühren berechnen, wenn das Medium überfällig ist
|
||||||
|
if (aktuelleZeit.isAfter(faelligkeitsdatum)) {
|
||||||
|
long ueberfaelligeTage = ChronoUnit.DAYS.between(faelligkeitsdatum, aktuelleZeit);
|
||||||
|
gebuehr = ueberfaelligeTage * 2.0; // 2 EUR pro überfälligem Tag
|
||||||
|
}
|
||||||
|
|
||||||
|
// Details zum Medium ausgeben
|
||||||
|
System.out.println("Medium: " + medien.getName() +
|
||||||
|
", Fälligkeitsdatum: " + faelligkeitsdatum +
|
||||||
|
", Gebühr: " + gebuehr + " EUR");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!hatAusgelieheneMedien) {
|
||||||
|
System.out.println("Sie haben keine ausgeliehenen Medien.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void zeitVerschieben() {
|
||||||
|
System.out.println("Aktuelles Datum: " + aktuelleZeit);
|
||||||
|
System.out.print("Geben Sie das neue Datum im Format JJJJ-MM-TT ein: ");
|
||||||
|
String neuesDatum = scanner.nextLine();
|
||||||
|
|
||||||
|
try {
|
||||||
|
aktuelleZeit = LocalDate.parse(neuesDatum);
|
||||||
|
System.out.println("Die Zeit wurde erfolgreich auf " + aktuelleZeit + " geändert.");
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("Ungültiges Datum. Bitte versuchen Sie es erneut.");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -89,15 +89,15 @@ public class Verwaltung {
|
||||||
|
|
||||||
|
|
||||||
// Methode zum Entfernen einer Ausleihe und Berechnung der Dauer
|
// Methode zum Entfernen einer Ausleihe und Berechnung der Dauer
|
||||||
void remov(Medien medien, Benutzer benutzer) {
|
void remov(Benutzer benutzer) {
|
||||||
Aausleihe zuEntfernen = null;
|
Aausleihe zuEntfernen = null;
|
||||||
|
|
||||||
// Durchsuchen der Liste nach der passenden Ausleihe
|
// Durchsuchen der Liste nach der passenden Ausleihe
|
||||||
for (Aausleihe aausleihe : ausliste) {
|
for (Aausleihe aausleihe : ausliste) {
|
||||||
// Überprüfen, ob das Medium und der Benutzer übereinstimmen
|
// Überprüfen, ob das Medium und der Benutzer übereinstimmen
|
||||||
if (aausleihe.getMedien().equals(medien) && aausleihe.getBenutzer().equals(benutzer)) {
|
if (aausleihe.getBenutzer().equals(benutzer)) {
|
||||||
zuEntfernen = aausleihe; // Markieren des zu entfernenden Eintrags
|
zuEntfernen = aausleihe; // Markieren des zu entfernenden Eintrags
|
||||||
medien.istAusgeliehen = false; // Markiere das Medium als nicht mehr ausgeliehen
|
aausleihe.getMedien().istAusgeliehen = false; // Markiere das Medium als nicht mehr ausgeliehen
|
||||||
break; // Schleife abbrechen, wenn die passende Ausleihe gefunden wurde
|
break; // Schleife abbrechen, wenn die passende Ausleihe gefunden wurde
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -138,7 +138,6 @@ public class Verwaltung {
|
||||||
// Wenn das Medium und der Benutzer übereinstimmen
|
// Wenn das Medium und der Benutzer übereinstimmen
|
||||||
ausleihe.setRueckgabeDatum(rueckgabeDatum); // Setze das Rückgabedatum
|
ausleihe.setRueckgabeDatum(rueckgabeDatum); // Setze das Rückgabedatum
|
||||||
ausleihe.getMedien().istAusgeliehen = false; // Markiere das Medium als zurückgegeben
|
ausleihe.getMedien().istAusgeliehen = false; // Markiere das Medium als zurückgegeben
|
||||||
System.out.println("Das Medium wurde erfolgreich zurückgegeben.");
|
|
||||||
return; // Methode verlassen, Rückgabe abgeschlossen
|
return; // Methode verlassen, Rückgabe abgeschlossen
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue