diff --git a/Bibliotheksverwaltung/src/DomainLayer/User.java b/Bibliotheksverwaltung/src/DomainLayer/User.java index 632dd6a..d72a12d 100644 --- a/Bibliotheksverwaltung/src/DomainLayer/User.java +++ b/Bibliotheksverwaltung/src/DomainLayer/User.java @@ -4,61 +4,69 @@ import java.util.ArrayList; import java.util.List; public abstract class User { - private String id; - private String name; - private double outstandingFees; // Ausstehende Gebühren - private List borrowedMedia; + private String id; + private String name; + private double annualFee; // Jahresgebühr + private double outstandingFees; // Ausstehende Gebühren + private List borrowedMedia; + private String role; // "admin", "user", "student", "scholar" - public User(String id, String name, double annualFee) { - this.id = id; - this.name = name; - this.outstandingFees = 0.0; - this.borrowedMedia = new ArrayList<>(); - } + public User(String id, String name, double annualFee, String role) { + this.id = id; + this.name = name; + this.annualFee = annualFee; + this.outstandingFees = 0.0; + this.borrowedMedia = new ArrayList<>(); + this.role = role; // Setzt die Rolle des Benutzers + } - public String getId() { - return id; - } + public String getId() { + return id; + } - public String getName() { - return name; - } + public String getName() { + return name; + } - public double getOutstandingFees() { + public double getAnnualFee() { + return annualFee; + } + + public void addFee(double fee) { + this.outstandingFees += fee; + } + + public void payFees(double amount) { + if (amount > outstandingFees) { + System.out.println("Der Betrag übersteigt die ausstehenden Gebühren."); + return; + } + outstandingFees -= amount; + System.out.println("Zahlung von " + amount + "€ erfolgreich. Verbleibende Gebühren: " + outstandingFees + "€."); + } + + public List getBorrowedMedia() { + return borrowedMedia; + } + + public void borrowMedium(Medium medium) { + borrowedMedia.add(medium); + } + + public void returnMedium(Medium medium) { + borrowedMedia.remove(medium); + } + + public String getRole() { + return role; + } + + @Override + public String toString() { + return "Benutzer{" + "ID='" + id + '\'' + ", Name='" + name + '\'' + ", Jahresgebühr=" + annualFee + + ", Ausstehende Gebühren=" + outstandingFees + '}'; + } + public double getOutstandingFees() { return outstandingFees; } - - public void addFee(double fee) { - this.outstandingFees += fee; - } - - public void payFees(double amount) { - if (amount > outstandingFees) { - System.out.println("Der Betrag übersteigt die ausstehenden Gebühren."); - return; - } - outstandingFees -= amount; - System.out.println("Zahlung von " + amount + "€ erfolgreich. Verbleibende Gebühren: " + outstandingFees + "€."); - } - - public List getBorrowedMedia() { - return borrowedMedia; - } - - public void borrowMedium(Medium medium) { - borrowedMedia.add(medium); - } - - public void returnMedium(Medium medium) { - borrowedMedia.remove(medium); - } - - @Override - public String toString() { - return "Benutzer{" + - "ID='" + id + '\'' + - ", Name='" + name + '\'' + - ", Ausstehende Gebühren=" + outstandingFees + - '}'; - } -} \ No newline at end of file +}