Gebühren berechnen Prozess

Gebührenberechnen
3009594 2024-11-16 17:29:55 +01:00
parent da0ce0845f
commit 712087279b
2 changed files with 72 additions and 83 deletions

View File

@ -10,12 +10,10 @@ import domain.Medium.*;
public class AusleiheSystem {
private HashMap<String,Mediumverwalter> medien;
private LocalDate ausleiheBeginn,ausleiheEnde;
private Calendar calendar;
private HashMap<String, Mediumverwalter> medien;
private LocalDate ausleiheBeginn, ausleiheEnde;
public AusleiheSystem( HashMap<String,Mediumverwalter> medien) {
public AusleiheSystem(HashMap<String, Mediumverwalter> medien) {
this.medien = medien;
}
@ -25,7 +23,6 @@ public class AusleiheSystem {
if (mediumAusleihen.isIstAusgeliehen())
throw new MediumNichtGefundenException("Das Medium ist ausgeliehen");
mediumAusleihen.setIstAusgeliehen(true);
mediumAusleihen.setAnzahl(mediumAusleihen.getAnzahl() - 1);
@ -38,7 +35,6 @@ public class AusleiheSystem {
return neueAusleihe;
}
public ArrayList<String> mediumRückgabe(ArrayList<Ausleihe> ausleihe, String eindeutigeKennung) {
Ausleihe ausgelieheneMedium = ausleihe.stream()
.filter(k -> k.getMediumverwalter().getMedium().getID().equalsIgnoreCase(eindeutigeKennung)).findFirst()
@ -62,7 +58,7 @@ public class AusleiheSystem {
}
bibBenutzer.setGebühren( bibBenutzer.getGebühren() + gebühren);
bibBenutzer.setGebühren(bibBenutzer.getGebühren() + gebühren);
}
ausgelieheneMedium.getBenutzer().mediumZurückgeben(ausgelieheneMedium);
@ -77,7 +73,8 @@ public class AusleiheSystem {
return ausgeliehenMedien;
}
public double SimulieremediumRückgabe(ArrayList<Ausleihe> ausleihe, String eindeutigeKennung, String datum)throws MediumNichtGefundenException {
public double SimulieremediumRückgabe(ArrayList<Ausleihe> ausleihe, String eindeutigeKennung, String datum)
throws MediumNichtGefundenException {
Ausleihe ausgelieheneMedium = ausleihe.stream()
.filter(k -> k.getMediumverwalter().getMedium().getID().equalsIgnoreCase(eindeutigeKennung)).findFirst()
.orElse(null);
@ -92,7 +89,6 @@ public class AusleiheSystem {
if (heutigesDatum.isAfter(testDatum)) {
long überfälligeTage = testDatum.until(heutigesDatum, ChronoUnit.DAYS);
if (überfälligeTage <= 7)
gebühren = überfälligeTage * 1.0;
@ -102,21 +98,19 @@ public class AusleiheSystem {
}
bibBenutzer.setGebühren( bibBenutzer.getGebühren() + gebühren);
bibBenutzer.setGebühren(bibBenutzer.getGebühren() + gebühren);
return bibBenutzer.getGebühren();
}
}else
throw new MediumNichtGefundenException ("Das Medium wurde nicht gefunden");
} else
throw new MediumNichtGefundenException("Das Medium wurde nicht gefunden");
return gebühren;
}
public boolean medienVerlängern(Benutzer benutzer, String eindeutigeKennung) throws MediumNichtGefundenException {
Ausleihe medium = benutzer.getAusgeliehenenMedien()
.stream()
.filter(m -> m.getMediumverwalter().getMedium().getID().equalsIgnoreCase(eindeutigeKennung))
.findFirst()
Ausleihe medium = benutzer.getAusgeliehenenMedien().stream()
.filter(m -> m.getMediumverwalter().getMedium().getID().equalsIgnoreCase(eindeutigeKennung)).findFirst()
.orElse(null);
if (medium == null)
@ -136,7 +130,6 @@ public class AusleiheSystem {
return true;
}
private Mediumverwalter findMedium(String eindeutigeKennung) throws MediumNichtGefundenException {
if (medien.containsKey(eindeutigeKennung))
return medien.get(eindeutigeKennung);
@ -145,6 +138,4 @@ public class AusleiheSystem {
}
}

View File

@ -46,12 +46,10 @@ public class BibSystem {
}
public ArrayList<String> medienRückgabe(String eindeutigeKennung) {
return ausleiheSystem.mediumRückgabe(ausleihe, eindeutigeKennung);
}
public double simuliereMedienRückgabe(String eindeutigeKennung, String datum) throws MediumNichtGefundenException {
return ausleiheSystem.SimulieremediumRückgabe(ausleihe, eindeutigeKennung, datum);
}
@ -86,7 +84,6 @@ public class BibSystem {
throw new MediumNichtGefundenException("Kein treffer");
return treffer;
}
public void userRegistrieren(String name, String type, int alter, String istAdmin) throws FalscheEingabeException {
@ -115,6 +112,7 @@ public class BibSystem {
return "Das Medium wurde erfolgreich ausgeliehen";
}
// Temporäre Test Methode
private void mediumsAufladen() {
Mediumverwalter buch = new Mediumverwalter(true, 10, 28,