Admin Funktion hinzugefügt
parent
f5c637dd9d
commit
4bf51626be
|
|
@ -1,24 +1,95 @@
|
||||||
package ServiceLayer;
|
package ServiceLayer;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import DomainLayer.LibraryItem;
|
import DomainLayer.*;
|
||||||
import DomainLayer.User;
|
|
||||||
|
|
||||||
public class LibraryService {
|
public class LibraryService {
|
||||||
private Map<String, LibraryItem> items; // ID -> Medien
|
private List<Medium> mediaList = new ArrayList<>();
|
||||||
private Map<String, User> users; // Kartennummer -> Benutzer
|
private List<User> userList = new ArrayList<>();
|
||||||
|
private Admin admin; // Ein Adminnutzer
|
||||||
|
|
||||||
public void borrowItem(String itemId, String userId) {
|
// Administrator hinzufügen (fest codiert)
|
||||||
// Prüfen, ob verfügbar, und Ausleihe durchführen
|
public LibraryService() {
|
||||||
|
mediaList = new ArrayList<>();
|
||||||
|
userList = new ArrayList<>();
|
||||||
|
|
||||||
|
// Hardcodierter Admin
|
||||||
|
admin = new Admin("001", "Bibliotheks Admin");
|
||||||
|
userList.add(admin); // Admin wird zur Benutzerliste hinzugefügt
|
||||||
|
}
|
||||||
|
public Admin getAdmin() {
|
||||||
|
return admin;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void returnItem(String itemId) {
|
public void displayCatalog() {
|
||||||
// Rückgabe-Logik und Gebührenberechnung
|
System.out.println("Medienkatalog:");
|
||||||
|
for (Medium medium : mediaList) {
|
||||||
|
String status = medium.isBorrowed() ? "Ausgeliehen bis: " + medium.getDueDate() : "Verfügbar";
|
||||||
|
System.out.println("Titel: " + medium.getTitle() + ", Autor: " + medium.getAuthor() + ", Status: " + status);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<LibraryItem> searchItems(String query) {
|
public List<Medium> searchMedia(String query, boolean filterBorrowed, String mediaType) {
|
||||||
// Suchfunktion für Medien
|
return mediaList.stream().filter(medium -> medium.getTitle().toLowerCase().startsWith(query.toLowerCase())) // Filter
|
||||||
}
|
// nach
|
||||||
|
// Titel
|
||||||
|
.filter(medium -> !filterBorrowed || !medium.isBorrowed()) // Optionaler Filter nach Ausleihstatus
|
||||||
|
.filter(medium -> mediaType.isEmpty() || medium.getClass().getSimpleName().equals(mediaType)) // Optionaler
|
||||||
|
// Filter
|
||||||
|
// nach
|
||||||
|
// Medienart
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void initializeMedia() {
|
||||||
|
// Beispielmedien
|
||||||
|
addMedium(new Book("B001", "Harry Potter und der Stein der Weisen", "1997"));
|
||||||
|
addMedium(new DVD("D001", "Inception", "2010"));
|
||||||
|
addMedium(new CD("C001", "Michael Jackson - Thriller", "1982"));
|
||||||
|
addMedium(new BoardGame("BG001", "Monopoly", "1935"));
|
||||||
|
addMedium(new VideoGame("VG001", "The Last of Us", "2013"));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Medien hinzufügen
|
||||||
|
public void addMedium(Medium medium) {
|
||||||
|
mediaList.add(medium);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Alle Medien abrufen
|
||||||
|
public List<Medium> getAllMedia() {
|
||||||
|
return mediaList;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Medium anhand der ID suchen
|
||||||
|
public Medium findMediumById(String mediumId) {
|
||||||
|
for (Medium medium : mediaList) {
|
||||||
|
if (medium.getId().equals(mediumId)) {
|
||||||
|
return medium;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null; // Medium nicht gefunden
|
||||||
|
}
|
||||||
|
|
||||||
|
// Benutzer hinzufügen
|
||||||
|
public void addUser(User user) {
|
||||||
|
userList.add(user);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Benutzer anhand der ID suchen
|
||||||
|
public User findUserById(String userId) {
|
||||||
|
for (User user : userList) {
|
||||||
|
if (user.getId().equals(userId)) {
|
||||||
|
return user;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null; // Benutzer nicht gefunden
|
||||||
|
}
|
||||||
|
|
||||||
|
// Alle Benutzer abrufen
|
||||||
|
public List<User> getAllUsers() {
|
||||||
|
return userList;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue