Added Verlängerungs support

Finishing
Marc3308 2024-11-19 12:51:25 +01:00
parent e2cd80c677
commit 189c5b29f3
9 changed files with 67 additions and 20 deletions

View File

@ -118,7 +118,7 @@ public class framecreater implements ActionListener {
+"<br>"+(m.getTitel()==null ? "Unbekannt" : m.getTitel())
+"<br>"+(m.getBeschreibung()==null ? "NoData" : m.getBeschreibung())
+"<br>"+(m.getVerofentlichung()<=0 ? "NoData" : m.getVerofentlichung())
+"<br>"+k.getAusgeliehen().get(m).toString()
+"<br>"+((m.getAusleizeit()*7)-((int) ChronoUnit.DAYS.between(k.getAusgeliehen().get(m),getDatum())))+" Tage"
+"</html>");
vorlage.setBounds(10+(80*(counter%4)),100+(100*(counter/4)),80,100 );
vorlage.addActionListener(e -> {
@ -307,7 +307,7 @@ public class framecreater implements ActionListener {
schuldenzuruck.addActionListener( e -> {
if(!schuldenabezahlen.contains(k))schuldenabezahlen.add(k);
});
panel.add(schuldenzuruck);
if(k.getSchulden()>0.0)panel.add(schuldenzuruck);
//studentstatus feld
JLabel studentstatus=new JLabel("Student/Schühler: "+( k.isIstStudent()? "Ja" : "Nein"));
@ -413,6 +413,8 @@ public class framecreater implements ActionListener {
kundenliste.get(getAngemeldeterbenuter()).getAusgeliehen().put(m,getDatum());
Startframe();
});
if(m.getAusgeliehen()<0 && getAngemeldeterbenuter()>=0)panel.add(ausleiehen);
if(m.getAusgeliehen()>=0 && m.getAusgeliehen()==getAngemeldeterbenuter()){
//zuruckgeben button
JButton zuruckgeben=new JButton("Zurückgeben");
zuruckgeben.setBounds(90,125,100,25);
@ -423,8 +425,24 @@ public class framecreater implements ActionListener {
kundenliste.get(getAngemeldeterbenuter()).getAusgeliehen().remove(m);
profilframe();
});
if(m.getAusgeliehen()<0 && getAngemeldeterbenuter()>=0)panel.add(ausleiehen);
if(m.getAusgeliehen()>=0 && m.getAusgeliehen()==getAngemeldeterbenuter())panel.add(zuruckgeben);
panel.add(zuruckgeben);
//Verlängern button
JButton Verlängern=new JButton("Verlängern");
Verlängern.setBounds(150,100,100,25);
Verlängern.addActionListener(e -> {
//set max verlängerungen
int verlangerung = m.getAusleizeit();
if(m.getClass().getName().substring(20).equals("Buch") && verlangerung<(4*4))verlangerung+=4;
if(m.getClass().getName().substring(20).equals("Viedeospiel") && verlangerung==4)verlangerung*=2;
frame.dispose();
m.setAusleizeit(verlangerung);
onmedienclick(m);
});
if(m.getClass().getName().substring(20).equals("Buch"))panel.add(Verlängern);
if(m.getClass().getName().substring(20).equals("Viedeospiel"))panel.add(Verlängern);
}
}
@ -470,15 +488,12 @@ public class framecreater implements ActionListener {
LocalDate datethen=k.getAusgeliehen().get(m);
//set max verlängerungen
int verlangerung = m.getAusleizeit();
if(m.getClass().getName().substring(20).equals("Buch"))verlangerung*=4;
if(m.getClass().getName().substring(20).equals("Viedeospiel"))verlangerung*=2;
int verlangerung = m.getAusleizeit()*7;
//wochen berechnen
int weeksapart = ((int) ChronoUnit.DAYS.between(datethen,datenow))/7;
int weeksapart = ((int) ChronoUnit.DAYS.between(datethen,datenow));
if(weeksapart>verlangerung){
weeksapart-=verlangerung;
weeksapart*=7;
int schulden=0;
if(weeksapart<7){
schulden=weeksapart;

View File

@ -23,6 +23,9 @@ public abstract class Medien {
this.ausgeliehen = ausgeliehen;
}
public void setAusleizeit(int ausleizeit) {
this.ausleizeit = ausleizeit;
}
}
class Buch extends Medien{
@ -33,6 +36,7 @@ class Buch extends Medien{
private int verofentlichung;
private int nummber;
private int ausgeliehen;
private int ausleizeit;
public Buch(String autor, String titel, String beschreibung, int verofentlichung){
@ -42,6 +46,7 @@ class Buch extends Medien{
this.verofentlichung=verofentlichung;
this.nummber=Bibiliotek.medienliste.size()+1; //test it
this.ausgeliehen=-1;
this.ausleizeit=4;
}
@Override
@ -81,7 +86,11 @@ class Buch extends Medien{
@Override
public int getAusleizeit() {
return 4;
return ausleizeit;
}
@Override
public void setAusleizeit(int ausleizeit) {
this.ausleizeit = ausleizeit;
}
}
class DVD extends Medien{
@ -103,6 +112,11 @@ class DVD extends Medien{
this.ausgeliehen=-1;
}
@Override
public void setAusleizeit(int ausleizeit) {
super.setAusleizeit(ausleizeit);
}
@Override
public void setAusgeliehen(int ausgeliehen) {
this.ausgeliehen = ausgeliehen;
@ -167,6 +181,11 @@ class CD extends Medien{
this.ausgeliehen = ausgeliehen;
}
@Override
public void setAusleizeit(int ausleizeit) {
super.setAusleizeit(ausleizeit);
}
@Override
public String getAutor() {
return autor;
@ -221,6 +240,11 @@ class Brettspiel extends Medien{
this.ausgeliehen=-1;
}
@Override
public void setAusleizeit(int ausleizeit) {
super.setAusleizeit(ausleizeit);
}
@Override
public void setAusgeliehen(int ausgeliehen) {
this.ausgeliehen = ausgeliehen;
@ -270,6 +294,7 @@ class Viedeospiel extends Medien{
private int verofentlichung;
private int nummber;
private int ausgeliehen;
private int ausleizeit;
public Viedeospiel(String autor, String titel, String beschreibung, int verofentlichung){
@ -279,13 +304,20 @@ class Viedeospiel extends Medien{
this.verofentlichung=verofentlichung;
this.nummber=Bibiliotek.medienliste.size()+1; //test it
this.ausgeliehen=-1;
this.ausleizeit=4;
}
@Override
public void setAusgeliehen(int ausgeliehen) {
this.ausgeliehen = ausgeliehen;
}
@Override
public void setAusleizeit(int ausleizeit) {
this.ausleizeit = ausleizeit;
}
@Override
public String getAutor() {
return autor;
@ -318,6 +350,6 @@ class Viedeospiel extends Medien{
@Override
public int getAusleizeit() {
return 4;
return ausleizeit;
}
}