diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeService.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeService.java index 9071dfa5f38b503f8519af0a5b80a20aa4eaddc0..1e8c9cd1bc85818abd40768c4af6bb8889a5add5 100644 --- a/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeService.java +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeService.java @@ -69,7 +69,7 @@ public class FridgeService { * @param fridgeProductRequest the fridge product request * @return the product that was added to the fridge */ - public Optional<Object> addProductToFridge(FridgeProductRequest fridgeProductRequest) { + public Optional<Product> addProductToFridge(FridgeProductRequest fridgeProductRequest) { Optional<Product> product = productService.getProductById(fridgeProductRequest.ean()); Optional<Fridge> fridge = fridgeRepository.findByGroupGroupId(fridgeProductRequest.groupId()); double price = 100.0; @@ -89,11 +89,11 @@ public class FridgeService { .build()); fridgeRepository.save(fridge.get()); - return Optional.of(product); + return product; } - public Optional<Object> updateProductInFridge(FridgeProductRequest request) { + public Optional<FridgeProductAsso> updateProductInFridge(FridgeProductRequest request) { Optional<FridgeProductAsso> fridgeProductAsso = fridgeProductAssoRepo.findById(request.fridgeProductId()); if (fridgeProductAsso.isEmpty()) return Optional.empty(); @@ -108,7 +108,7 @@ public class FridgeService { fridgeProductAssoRepo.save(fridgeProductAsso.get()); - return Optional.of(fridgeProductAsso); + return fridgeProductAsso; } @@ -164,12 +164,12 @@ public class FridgeService { * @param amount the amount to delete * @return an optional containing the fridge product if it exists */ - public Optional<Object> deleteAmountFromFridge(long fridgeProductId, double amount) { + public Optional<FridgeProductAsso> deleteAmountFromFridge(long fridgeProductId, double amount) { Optional<FridgeProductAsso> fridgeProductAsso = fridgeProductAssoRepo.findAllById(fridgeProductId); if(fridgeProductAsso.isEmpty()) return Optional.empty(); FridgeProductAsso fridgeProductAsso1 = fridgeProductAsso.get(); if(amount < fridgeProductAsso1.getAmount() ){ - fridgeProductAsso1.setAmount(fridgeProductAsso1.getAmount() -amount); + fridgeProductAsso1.setAmount(fridgeProductAsso1.getAmount() - amount); return Optional.of(fridgeProductAssoRepo.save(fridgeProductAsso1)); } else { Group group = fridgeProductAsso1.getFridgeId().getGroup(); @@ -177,7 +177,7 @@ public class FridgeService { group.setLevel(GroupUtil.getLevel(group.getPoints())); groupRepository.save(group); fridgeProductAssoRepo.delete(fridgeProductAsso.get()); - return Optional.of(true); + return Optional.empty(); } } @@ -186,7 +186,7 @@ public class FridgeService { * @param fridgeProductId the ID of the fridge product association to delete * @return an Optional containing the saved waste object, or an empty Optional if the fridge product association with the given ID is not found */ - public Optional<Object> wasteProductFromFridge(long fridgeProductId){ + public Optional<Waste> wasteProductFromFridge(long fridgeProductId){ Optional<FridgeProductAsso> fridgeProductAsso = fridgeProductAssoRepo.findById(fridgeProductId); if(fridgeProductAsso.isEmpty()) return Optional.empty(); FridgeProductAsso fridgeProductAsso1 = fridgeProductAsso.get(); @@ -197,7 +197,13 @@ public class FridgeService { group.setLevel(GroupUtil.getLevel(group.getPoints())); } groupRepository.save(group); - return Optional.of(wasteRepository.save(Waste.builder().buyPrice(fridgeProductAsso1.getBuyPrice()).amount(fridgeProductAsso1.getAmount()).unit(fridgeProductAsso1.getEan().getUnit()).ean(fridgeProductAsso1.getEan()).groupId(fridgeProductAsso1.getFridgeId().getGroup()).timestamp(new Timestamp(System.currentTimeMillis())).build())); + return Optional.of(wasteRepository.save(Waste.builder() + .amount(fridgeProductAsso1.getAmount()) + .unit(fridgeProductAsso1.getEan().getUnit()) + .ean(fridgeProductAsso1.getEan()) + .groupId(fridgeProductAsso1.getFridgeId().getGroup()) + .timestamp(new Timestamp(System.currentTimeMillis())) + .build())); }