diff --git a/Bibliotheksverwaltungssystem/Design/Registrieren/RegistierenProzess.png b/Bibliotheksverwaltungssystem/Design/Registrieren/RegistierenProzess.png new file mode 100644 index 0000000..e2775da Binary files /dev/null and b/Bibliotheksverwaltungssystem/Design/Registrieren/RegistierenProzess.png differ diff --git a/Bibliotheksverwaltungssystem/Design/SystemUml.drawio b/Bibliotheksverwaltungssystem/Design/SystemUml.drawio index 5648089..c5ee2ce 100644 --- a/Bibliotheksverwaltungssystem/Design/SystemUml.drawio +++ b/Bibliotheksverwaltungssystem/Design/SystemUml.drawio @@ -1,6 +1,6 @@ - + @@ -19,7 +19,7 @@ - + @@ -163,9 +163,16 @@ - + + + + + + + + @@ -236,7 +243,7 @@ - + @@ -248,7 +255,7 @@ - + @@ -263,7 +270,7 @@ - + @@ -275,7 +282,7 @@ - + @@ -287,7 +294,7 @@ - + @@ -296,46 +303,61 @@ - + - + - - - - - - - - - + - - + + + + + - - + + - - + + - + + + + + + + + + + + + + + + + + + + + + diff --git a/Bibliotheksverwaltungssystem/Design/Unfertiges System diagramm.png b/Bibliotheksverwaltungssystem/Design/Unfertiges System diagramm.png new file mode 100644 index 0000000..8fdcc0f Binary files /dev/null and b/Bibliotheksverwaltungssystem/Design/Unfertiges System diagramm.png differ diff --git a/Bibliotheksverwaltungssystem/src/domain/AusleiheSystem/MediumZumAusleihen.java b/Bibliotheksverwaltungssystem/src/domain/AusleiheSystem/Ausleihe.java similarity index 51% rename from Bibliotheksverwaltungssystem/src/domain/AusleiheSystem/MediumZumAusleihen.java rename to Bibliotheksverwaltungssystem/src/domain/AusleiheSystem/Ausleihe.java index e41f02c..a303e2d 100644 --- a/Bibliotheksverwaltungssystem/src/domain/AusleiheSystem/MediumZumAusleihen.java +++ b/Bibliotheksverwaltungssystem/src/domain/AusleiheSystem/Ausleihe.java @@ -4,19 +4,18 @@ import java.text.SimpleDateFormat; import java.util.Date; import domain.Medium.Medium; +import domain.Medium.Mediumverwalter; -public class MediumZumAusleihen { +public class Ausleihe { private SimpleDateFormat simpleFormatter; private Date ausleiheBeginn, ausleiheEnde; - private Medium medium; - private int wochenAnzahl; + private Mediumverwalter medium; - public MediumZumAusleihen(Medium medium,Date ausleiheBeginn, Date ausleiheEnde, int wochenAnzahl) { + public Ausleihe(Mediumverwalter medium,Date ausleiheBeginn, Date ausleiheEnde) { this.medium = medium; this.ausleiheBeginn = ausleiheBeginn; this.ausleiheEnde = ausleiheEnde; - this.wochenAnzahl = wochenAnzahl; this.simpleFormatter = new SimpleDateFormat("dd-MM-yyyy HH:mm"); } @@ -36,24 +35,12 @@ public class MediumZumAusleihen { this.ausleiheEnde = ausleiheEnde; } - public Medium getMedium() { + public Mediumverwalter getMedium() { return medium; } - public void setMedium(Medium medium) { - this.medium = medium; - } - - public int getWochenAnzahl() { - return wochenAnzahl; - } - - public void setWochenAnzahl(int wochenAnzahl) { - this.wochenAnzahl = wochenAnzahl; - } - @Override public String toString() { - return "Ausgeliehene Medium: Ausleihe Beginn= " +simpleFormatter.format(ausleiheBeginn) + " ,Ausleihe Ende= " + simpleFormatter.format(ausleiheEnde) + " ,Wochenanzahl zum Ausleihen= "+ this.wochenAnzahl+" ,Medium= " + medium.toString(); + return "Ausgeliehene Mediums= "+ medium.toStringOhneAnzahl() + " Ausleihe Beginn= " +simpleFormatter.format(ausleiheBeginn) + " ,Ausleihe Ende= " + simpleFormatter.format(ausleiheEnde); } } diff --git a/Bibliotheksverwaltungssystem/src/domain/AusleiheSystem/AusleiheSystem.java b/Bibliotheksverwaltungssystem/src/domain/AusleiheSystem/AusleiheSystem.java index 231c7e1..19ad83f 100644 --- a/Bibliotheksverwaltungssystem/src/domain/AusleiheSystem/AusleiheSystem.java +++ b/Bibliotheksverwaltungssystem/src/domain/AusleiheSystem/AusleiheSystem.java @@ -8,46 +8,42 @@ import domain.Medium.*; public class AusleiheSystem { - private ArrayList mediums; + private HashMap medien; private Date ausleiheBeginn; private Date ausleiheEnde; private Calendar calendar; - private int wocheAnzahlZuAusleihen; - public AusleiheSystem(ArrayList mediums) { - this.mediums = mediums; + public AusleiheSystem( HashMap medien) { + this.medien = medien; } - public void mediumAusleihen(Benutzer benutzer, String eindutigenummer) throws MediumNichtGefundenException { - Medium mediumAusleihen = findMedium(eindutigenummer); + public Ausleihe mediumAusleihen(Benutzer benutzer, String eindutigenummer) throws MediumNichtGefundenException { + Mediumverwalter mediumAusleihen = findMedium(eindutigenummer); + if (mediumAusleihen.isIstAusgeliehen()) + throw new MediumNichtGefundenException("Das Medium ist ausgeliehen"); + + mediumAusleihen.setIstAusgeliehen(true); this.ausleiheBeginn = new Date(); this.calendar = Calendar.getInstance(); calendar.setTime(ausleiheBeginn); - if (mediumAusleihen instanceof Buch || mediumAusleihen instanceof Videospiel) - wocheAnzahlZuAusleihen = 4; - else if (mediumAusleihen instanceof Dvd) - wocheAnzahlZuAusleihen = 1; - - else if (mediumAusleihen instanceof Cd || mediumAusleihen instanceof Brettspiel) - wocheAnzahlZuAusleihen = 2; - - calendar.add(Calendar.WEEK_OF_YEAR, wocheAnzahlZuAusleihen); + calendar.add(Calendar.WEEK_OF_YEAR, mediumAusleihen.getWocheAnzahlZumAusleihen()); this.ausleiheEnde = calendar.getTime(); - benutzer.ausleihen(new MediumZumAusleihen(mediumAusleihen,ausleiheBeginn,ausleiheEnde,wocheAnzahlZuAusleihen)); + Ausleihe neueAusleihe = new Ausleihe(mediumAusleihen,ausleiheBeginn,ausleiheEnde); + benutzer.ausleihen(neueAusleihe); + return neueAusleihe; + } + + private Mediumverwalter findMedium(String eindeutigeKennung) throws MediumNichtGefundenException { + if (medien.containsKey(eindeutigeKennung)) + return medien.get(eindeutigeKennung); + else + throw new MediumNichtGefundenException("Das ausgewählte Medium ist nicht verfügbar"); + + } + + - benutzer.getAusgeliehenenMedien().stream() - .forEach(System.out::println); - } - - - - private Medium findMedium(String eindeutigeKennung) throws MediumNichtGefundenException { - return mediums.stream() - .filter(m -> m.getKennungNummer().equalsIgnoreCase(eindeutigeKennung)) - .findFirst() - .orElseThrow(() -> new MediumNichtGefundenException("Das ausgewählte Medium ist nicht verfügbar")); - } } diff --git a/Bibliotheksverwaltungssystem/src/domain/Benutzer/Ausweis.java b/Bibliotheksverwaltungssystem/src/domain/Benutzer/Ausweis.java index 06c4ee7..fba17e5 100644 --- a/Bibliotheksverwaltungssystem/src/domain/Benutzer/Ausweis.java +++ b/Bibliotheksverwaltungssystem/src/domain/Benutzer/Ausweis.java @@ -1,15 +1,16 @@ package domain.Benutzer; public class Ausweis { - private int kartenNummer; + private String kartennummer; private static int generiereNummer = 1000; - public Ausweis() { - this.kartenNummer = generiereNummer++; + public Ausweis(String zeichen) { + + this.kartennummer =zeichen + generiereNummer++ ; } - public int getKartenNummer() { - return kartenNummer; + public String getKartenNummer() { + return kartennummer; } } diff --git a/Bibliotheksverwaltungssystem/src/domain/Benutzer/Benutzer.java b/Bibliotheksverwaltungssystem/src/domain/Benutzer/Benutzer.java index 3b9edb0..0c0aae6 100644 --- a/Bibliotheksverwaltungssystem/src/domain/Benutzer/Benutzer.java +++ b/Bibliotheksverwaltungssystem/src/domain/Benutzer/Benutzer.java @@ -2,7 +2,7 @@ package domain.Benutzer; import java.util.ArrayList; -import domain.AusleiheSystem.MediumZumAusleihen; +import domain.AusleiheSystem.Ausleihe; import domain.Medium.Medium; public abstract class Benutzer { @@ -11,8 +11,9 @@ public abstract class Benutzer { private String name; private int alter; private boolean istStudent; - private ArrayList ausgeliehenenMedien; + private ArrayList ausgeliehenenMedien; private boolean angemeldet; + private double gebühren; public Benutzer(Ausweis bibAusweis, String name, int alter, boolean istStudent) { @@ -57,15 +58,15 @@ public abstract class Benutzer { this.istStudent = istStudent; } - public ArrayList getAusgeliehenenMedien() { + public ArrayList getAusgeliehenenMedien() { return ausgeliehenenMedien; } - public void ausleihen(MediumZumAusleihen medium) { + public void ausleihen(Ausleihe medium) { this.ausgeliehenenMedien.add(medium); } - public void removeMedium(MediumZumAusleihen medium) { + public void removeMedium(Ausleihe medium) { this.ausgeliehenenMedien.remove(medium); } @@ -76,6 +77,15 @@ public abstract class Benutzer { public void setAngemeldet(boolean angemeldet) { this.angemeldet = angemeldet; } + + + public double getGebühren() { + return gebühren; + } + + public void setGebühren(double gebühren) { + this.gebühren = gebühren; + } @Override public String toString() { diff --git a/Bibliotheksverwaltungssystem/src/domain/BibSystem.java b/Bibliotheksverwaltungssystem/src/domain/BibSystem.java index 0bbbccf..42f7a4c 100644 --- a/Bibliotheksverwaltungssystem/src/domain/BibSystem.java +++ b/Bibliotheksverwaltungssystem/src/domain/BibSystem.java @@ -1,26 +1,31 @@ package domain; import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map.Entry; import java.util.stream.Stream; +import domain.AusleiheSystem.Ausleihe; import domain.AusleiheSystem.AusleiheSystem; import domain.Benutzer.*; import domain.ExceptionsKlassen.*; import domain.Medium.Brettspiel; import domain.Medium.Buch; import domain.Medium.Medium; +import domain.Medium.Mediumverwalter; public class BibSystem { private ArrayList alleBibBenutzer; - private ArrayList alleMediums; + private HashMap medien; + private ArrayList ausleihe; private AusleiheSystem ausleiheSystem; public BibSystem() { this.alleBibBenutzer = new ArrayList<>(); - this.alleMediums = new ArrayList<>(); - this.ausleiheSystem = new AusleiheSystem(alleMediums); - mediumAufladen(); + this.medien = new HashMap<>(); + this.ausleiheSystem = new AusleiheSystem(medien); + mediumsAufladen(); } public String userRegistrieren(String name, String type, int alter,String istAdmin) throws FalscheEingabeException { @@ -28,54 +33,62 @@ public class BibSystem { throw new FalscheEingabeException("Geben Sie alle Felder korrekt ein"); Benutzer benutzer; - Ausweis ausweis = new Ausweis(); + Ausweis ausweis; boolean istStudentOderSchüler = (type.equalsIgnoreCase("schüler") || type.equalsIgnoreCase("student"))? true : false; - if (istAdmin.equalsIgnoreCase("nein")) + if (istAdmin.equalsIgnoreCase("nein")) { + ausweis = new Ausweis("K"); benutzer = new Mitarbeiter(ausweis,name,alter,istStudentOderSchüler); - else + } + + else { + ausweis = new Ausweis("A"); benutzer = new Kunde(ausweis,name,alter,istStudentOderSchüler); + } alleBibBenutzer.add(benutzer); return benutzer.toString(); } - public boolean userAnmdelden(int kartennummer) throws BenutzerNichtGefundenException { + public boolean userAnmdelden(String kartennummer) throws BenutzerNichtGefundenException { Benutzer tempUser = findBenutzer(kartennummer); tempUser.setAngemeldet(true); return tempUser.isAngemeldet(); } - public void mediumAusleihen(int kartennummer, String eindeutigeKennung) throws BenutzerNichtAngemeldetException, BenutzerNichtGefundenException, MediumNichtGefundenException { + public void mediumAusleihen(String kartennummer, String eindeutigeKennung) throws Exception { Benutzer tempBenutzer = findBenutzer(kartennummer); + if (tempBenutzer instanceof Mitarbeiter) + throw new Exception("Mitarbeiter können keine Mediums ausleihen!"); + if (!checkIfUserImSystemAngemeldetIst(kartennummer)) throw new BenutzerNichtAngemeldetException("Sie müssen sich erst im System anmelden"); - - ausleiheSystem.mediumAusleihen(tempBenutzer,eindeutigeKennung); + Ausleihe neueAusleihe = ausleiheSystem.mediumAusleihen(tempBenutzer,eindeutigeKennung); + ausleihe.add(neueAusleihe); } - private void mediumAufladen() { + private void mediumsAufladen() { + medien.put("B001",new Mediumverwalter (true,10,4, new Buch("Effektives Java Programmieren",2018,"Joshua Bloch"))); + medien.put("B00", new Mediumverwalter (true,10,4, new Buch("Effektives Java Programmieren",2018,"Joshua Bloch"))); + medien.put("BG001", new Mediumverwalter (false,10,4, new Brettspiel("Die Siedler von Catan",2012,"XY Müller"))); - alleMediums.add(new Buch("B001","Effektives Java Programmieren",2018,true,"Joshua Bloch")); - alleMediums.add(new Buch("B00","Effektives C++ Programmieren",2012,true,"XY Müller")); - alleMediums.add(new Brettspiel("BG001","Die Siedler von Catan",2012,true,"XY Müller")); } - private boolean checkIfUserImSystemAngemeldetIst(int kartennummer) { + private boolean checkIfUserImSystemAngemeldetIst(String kartennummer) { return alleBibBenutzer.stream() .anyMatch(user -> user.isAngemeldet()); } - private Benutzer findBenutzer(int kartennummer) throws BenutzerNichtGefundenException { + private Benutzer findBenutzer(String kartennummer) throws BenutzerNichtGefundenException { return alleBibBenutzer.stream() - .filter(k -> k.getBibAusweis().getKartenNummer() == kartennummer) + .filter(k -> k.getBibAusweis().getKartenNummer().equalsIgnoreCase(kartennummer)) .findFirst() // nimmt das erste Element des Streams, das die Filterbedingung erfüllt. .orElseThrow(() -> new BenutzerNichtGefundenException ("Benutzer mit Kartennummer " + kartennummer + " nicht gefunden")); } diff --git a/Bibliotheksverwaltungssystem/src/domain/JTests/AnmeldenJTest.java b/Bibliotheksverwaltungssystem/src/domain/JTests/AnmeldenJTest.java index 804d4c1..c9eee05 100644 --- a/Bibliotheksverwaltungssystem/src/domain/JTests/AnmeldenJTest.java +++ b/Bibliotheksverwaltungssystem/src/domain/JTests/AnmeldenJTest.java @@ -22,17 +22,15 @@ class AnmeldenJTest { @Test void testUSerIstNichtAngemeldet() { // Status => True - assertThrows(BenutzerNichtGefundenException.class, () -> bib.userAnmdelden(1110)); + assertThrows(BenutzerNichtGefundenException.class, () -> bib.userAnmdelden("1110")); } @Test void testUSerIstAngemeldet() throws FalscheEingabeException, BenutzerNichtGefundenException { - // Status => True bib.userRegistrieren("obai", "student", 16, "nein"); - int kartennummer = 1000; - assertTrue(bib.userAnmdelden(kartennummer)); + } diff --git a/Bibliotheksverwaltungssystem/src/domain/JTests/AusleihenJTest.java b/Bibliotheksverwaltungssystem/src/domain/JTests/AusleiheJTest.java similarity index 70% rename from Bibliotheksverwaltungssystem/src/domain/JTests/AusleihenJTest.java rename to Bibliotheksverwaltungssystem/src/domain/JTests/AusleiheJTest.java index c668f18..df1aef4 100644 --- a/Bibliotheksverwaltungssystem/src/domain/JTests/AusleihenJTest.java +++ b/Bibliotheksverwaltungssystem/src/domain/JTests/AusleiheJTest.java @@ -6,13 +6,12 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import domain.BibSystem; -import domain.Benutzer.Benutzer; import domain.ExceptionsKlassen.BenutzerNichtAngemeldetException; import domain.ExceptionsKlassen.BenutzerNichtGefundenException; import domain.ExceptionsKlassen.FalscheEingabeException; import domain.ExceptionsKlassen.MediumNichtGefundenException; -class AusleihenJTest { +class AusleiheJTest { private BibSystem bib; @@ -22,12 +21,10 @@ class AusleihenJTest { } @Test - void test() throws FalscheEingabeException, BenutzerNichtAngemeldetException, BenutzerNichtGefundenException, MediumNichtGefundenException { - + void test() throws FalscheEingabeException, BenutzerNichtGefundenException, BenutzerNichtAngemeldetException, MediumNichtGefundenException { bib.userRegistrieren("obai", "student", 15, "nein"); - bib.userAnmdelden(1000); - bib.mediumAusleihen(1000,"B001" ); - + bib.userAnmdelden("K1000"); + bib.mediumAusleihen("K1000", "B001"); } } diff --git a/Bibliotheksverwaltungssystem/src/domain/JTests/AusweisJTest.java b/Bibliotheksverwaltungssystem/src/domain/JTests/AusweisJTest.java new file mode 100644 index 0000000..e344720 --- /dev/null +++ b/Bibliotheksverwaltungssystem/src/domain/JTests/AusweisJTest.java @@ -0,0 +1,38 @@ +package domain.JTests; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import domain.BibSystem; +import domain.Benutzer.Benutzer; +import domain.ExceptionsKlassen.BenutzerNichtAngemeldetException; +import domain.ExceptionsKlassen.BenutzerNichtGefundenException; +import domain.ExceptionsKlassen.FalscheEingabeException; +import domain.ExceptionsKlassen.MediumNichtGefundenException; + +class AusweisJTest { + + private BibSystem bib; + + @BeforeEach + void setUp() throws Exception { + this.bib = new BibSystem(); + } + + @Test + void testKunde() throws FalscheEingabeException, BenutzerNichtAngemeldetException, BenutzerNichtGefundenException, MediumNichtGefundenException { + // bibAusweisNummer= K1000 + System.out.println(bib.userRegistrieren("obai", "student", 15, "nein")); + + } + + @Test + void testMitarbeiter() throws FalscheEingabeException, BenutzerNichtAngemeldetException, BenutzerNichtGefundenException, MediumNichtGefundenException { + // bibAusweisNummer= A1001 + System.out.println(bib.userRegistrieren("Muster Müller", "Mitarbeiter", 25, "ja")); + + } + +} diff --git a/Bibliotheksverwaltungssystem/src/domain/JTests/RegistrierenTest.java b/Bibliotheksverwaltungssystem/src/domain/JTests/RegistrierenTest.java index 4ebc464..90f098b 100644 --- a/Bibliotheksverwaltungssystem/src/domain/JTests/RegistrierenTest.java +++ b/Bibliotheksverwaltungssystem/src/domain/JTests/RegistrierenTest.java @@ -10,6 +10,8 @@ import domain.Benutzer.Ausweis; import domain.Benutzer.Benutzer; import domain.Benutzer.Kunde; import domain.ExceptionsKlassen.FalscheEingabeException; +import domain.Medium.Buch; +import domain.Medium.Mediumverwalter; class RegistrierenTest { private BibSystem bib; @@ -28,6 +30,7 @@ class RegistrierenTest { assertTrue(test.contains(name)); System.out.println(test); + } } diff --git a/Bibliotheksverwaltungssystem/src/domain/Medium/Brettspiel.java b/Bibliotheksverwaltungssystem/src/domain/Medium/Brettspiel.java index 0290a78..f9fc42f 100644 --- a/Bibliotheksverwaltungssystem/src/domain/Medium/Brettspiel.java +++ b/Bibliotheksverwaltungssystem/src/domain/Medium/Brettspiel.java @@ -4,8 +4,8 @@ package domain.Medium; public class Brettspiel extends Medium { private String Verlag; - public Brettspiel(String eindeutigeKennung, String title, int erscheinungsjahr,boolean verlängerbar, String Verlag) { - super(eindeutigeKennung, title, erscheinungsjahr, verlängerbar); + public Brettspiel(String title, int erscheinungsjahr, String Verlag) { + super(title, erscheinungsjahr); this.Verlag = Verlag; } diff --git a/Bibliotheksverwaltungssystem/src/domain/Medium/Buch.java b/Bibliotheksverwaltungssystem/src/domain/Medium/Buch.java index 102fc1c..701e68c 100644 --- a/Bibliotheksverwaltungssystem/src/domain/Medium/Buch.java +++ b/Bibliotheksverwaltungssystem/src/domain/Medium/Buch.java @@ -1,17 +1,20 @@ package domain.Medium; -import java.util.Date; - public class Buch extends Medium { + private String autor; - public Buch(String eindeutigeKennung, String title, int erscheinungsjahr,boolean verlängerbar, String autor) { - super(eindeutigeKennung, title, erscheinungsjahr,verlängerbar); + + public Buch(String title, int erscheinungsjahr, String autor) { + super(title, erscheinungsjahr); this.autor = autor; } + + public String getAutor() { return autor; } + public void setAutor(String autor) { this.autor = autor; } @@ -19,9 +22,5 @@ public class Buch extends Medium { public String toString() { return "Buch: " + super.toString() + " ,autor=" + autor; } - - - - } diff --git a/Bibliotheksverwaltungssystem/src/domain/Medium/Cd.java b/Bibliotheksverwaltungssystem/src/domain/Medium/Cd.java index 6da0dfa..9def9db 100644 --- a/Bibliotheksverwaltungssystem/src/domain/Medium/Cd.java +++ b/Bibliotheksverwaltungssystem/src/domain/Medium/Cd.java @@ -5,10 +5,11 @@ import java.util.Date; public class Cd extends Medium { private String Künstler; - public Cd(String eindeutigeKennung, String title, int erscheinungsjahr,boolean verlängerbar, String Künstler) { - super(eindeutigeKennung, title, erscheinungsjahr,verlängerbar); + public Cd(String title, int erscheinungsjahr,String Künstler) { + super(title, erscheinungsjahr); this.Künstler = Künstler; } + public String getKünstler() { return Künstler; } diff --git a/Bibliotheksverwaltungssystem/src/domain/Medium/Dvd.java b/Bibliotheksverwaltungssystem/src/domain/Medium/Dvd.java index 8ab2ad2..4d516d5 100644 --- a/Bibliotheksverwaltungssystem/src/domain/Medium/Dvd.java +++ b/Bibliotheksverwaltungssystem/src/domain/Medium/Dvd.java @@ -4,8 +4,8 @@ package domain.Medium; public class Dvd extends Medium { private String regisseur; - public Dvd(String eindeutigeKennung, String title, int erscheinungsjahr,boolean verlängerbar,String regisseur) { - super(eindeutigeKennung, title, erscheinungsjahr,verlängerbar); + public Dvd(String title, int erscheinungsjahr,String regisseur) { + super(title, erscheinungsjahr); this.regisseur = regisseur; } diff --git a/Bibliotheksverwaltungssystem/src/domain/Medium/Medium.java b/Bibliotheksverwaltungssystem/src/domain/Medium/Medium.java index 36a2a51..e9fe81d 100644 --- a/Bibliotheksverwaltungssystem/src/domain/Medium/Medium.java +++ b/Bibliotheksverwaltungssystem/src/domain/Medium/Medium.java @@ -3,68 +3,27 @@ package domain.Medium; import java.util.Date; public abstract class Medium { - - private String eindeutigeKennung; + private String title; private int erscheinungsjahr; - private boolean verlängerbar; - - public Medium(String eindeutigeKennung, String title, int erscheinungsjahr,boolean verlängerbar) { + + public Medium(String title, int erscheinungsjahr) { super(); - this.eindeutigeKennung = eindeutigeKennung; this.title = title; this.erscheinungsjahr = erscheinungsjahr; - this.verlängerbar = verlängerbar; - } - - public String getKennungNummer() { - return eindeutigeKennung; - } - - public void setKennungNummer(String kennungNummer) { - eindeutigeKennung = kennungNummer; } public String getTitle() { return title; } - public void setTitle(String title) { - this.title = title; - } - public int getErscheinungsjahr() { return erscheinungsjahr; } - public void setErscheinungsjahr(int erscheinungsjahr) { - this.erscheinungsjahr = erscheinungsjahr; - } - - public String getEindeutigeKennung() { - return eindeutigeKennung; - } - - public void setEindeutigeKennung(String eindeutigeKennung) { - this.eindeutigeKennung = eindeutigeKennung; - } - - public boolean isVerlängerbar() { - return verlängerbar; - } - - public void setVerlängerbar(boolean verlängerbar) { - this.verlängerbar = verlängerbar; - } - @Override public String toString() { - return "eindeutigeKennung=" + eindeutigeKennung + ", title=" + title + ", erscheinungsjahr=" - + erscheinungsjahr + " ,Verlängerbar= " + verlängerbar ; + return "title=" + title + ", erscheinungsjahr=" + erscheinungsjahr; } - - - - } diff --git a/Bibliotheksverwaltungssystem/src/domain/Medium/Mediumverwalter.java b/Bibliotheksverwaltungssystem/src/domain/Medium/Mediumverwalter.java new file mode 100644 index 0000000..f27ab04 --- /dev/null +++ b/Bibliotheksverwaltungssystem/src/domain/Medium/Mediumverwalter.java @@ -0,0 +1,60 @@ +package domain.Medium; + +public class Mediumverwalter { + + private boolean verlängerbar; + private int anzahl; + private int wocheAnzahlZumAusleihen; + private Medium medium; + private boolean istAusgeliehen; + + public Mediumverwalter(boolean verlängerbar, int anzahl, int wocheAnzahlZumAusleihen, Medium medium) { + super(); + this.verlängerbar = verlängerbar; + this.anzahl = anzahl; + this.wocheAnzahlZumAusleihen = wocheAnzahlZumAusleihen; + this.medium = medium; + } + + + public boolean isVerlängerbar() { + return verlängerbar; + } + + public int getAnzahl() { + return anzahl; + } + + public void setAnzahl(int anzahl) { + this.anzahl = anzahl; + } + + public int getWocheAnzahlZumAusleihen() { + return wocheAnzahlZumAusleihen; + } + + public Medium getMedium() { + return medium; + } + public boolean isIstAusgeliehen() { + return istAusgeliehen; + } + + + public void setIstAusgeliehen(boolean istAusgeliehen) { + this.istAusgeliehen = istAusgeliehen; + } + + + @Override + public String toString() { + return "Medium=" + medium.toString() + " ,verlängerbar=" + verlängerbar + ", anzahl=" + anzahl + ", wocheAnzahlZumAusleihen=" + + wocheAnzahlZumAusleihen ; + } + + + public String toStringOhneAnzahl() { + return "Medium=" + medium.toString() + " ,verlängerbar=" + verlängerbar + ", Anzahl der Wochen zum Ausleihen=" + + wocheAnzahlZumAusleihen ; + } +} diff --git a/Bibliotheksverwaltungssystem/src/domain/Medium/Videospiel.java b/Bibliotheksverwaltungssystem/src/domain/Medium/Videospiel.java index eb9cb79..d4341ee 100644 --- a/Bibliotheksverwaltungssystem/src/domain/Medium/Videospiel.java +++ b/Bibliotheksverwaltungssystem/src/domain/Medium/Videospiel.java @@ -6,8 +6,8 @@ public class Videospiel extends Medium { private String plattform; - public Videospiel(String kennungNummer, String title, int erscheinungsjahr,boolean verlängerbar, String plattform) { - super(kennungNummer, title, erscheinungsjahr, verlängerbar); + public Videospiel(String title, int erscheinungsjahr, String plattform) { + super(title, erscheinungsjahr); this.plattform = plattform; } diff --git a/Bibliotheksverwaltungssystem/src/tui/Tui.java b/Bibliotheksverwaltungssystem/src/tui/Tui.java index 255a0c0..caad55d 100644 --- a/Bibliotheksverwaltungssystem/src/tui/Tui.java +++ b/Bibliotheksverwaltungssystem/src/tui/Tui.java @@ -58,13 +58,13 @@ public class Tui { } private void mediumAusleihenProzess(){ - int kartennummer; + String kartennummer; String eindutigeKennung; boolean mediumAusleihenProzess = true; System.out.println("Geben Sie bitte Ihre kartennummer"); System.out.print(">"); - kartennummer = eingabe.nextInt(); + kartennummer = eingabe.nextLine(); while(mediumAusleihenProzess) { System.out.println("Geben Sie bitte die eindutige Kennung des Mediums"); System.out.print(">"); @@ -73,9 +73,9 @@ public class Tui { try { fassade.mediumAusleihen(kartennummer, eindutigeKennung); - } catch (BenutzerNichtAngemeldetException | BenutzerNichtGefundenException | MediumNichtGefundenException e) { + } catch (Exception e) { System.out.println(e.getMessage()); - } + } } } @@ -86,10 +86,10 @@ public class Tui { } private void anmeldenProzess() { - int kartennummer; + String kartennummer; System.out.println("Geben Sie bitte die Kartennummer Ihres Bibliotheksausweises an: "); System.out.print(">"); - kartennummer = eingabe.nextInt(); + kartennummer = eingabe.nextLine(); try { if (fassade.userAnmdelden(kartennummer))