diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/product/FridgeProductAssoRepo.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/product/FridgeProductAssoRepo.java index 2b1a9a9c825f9920ae7efe361f3c7cc8adcb2fb3..6cddba89479f9259f779d6c2604dc8d8c8debb28 100644 --- a/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/product/FridgeProductAssoRepo.java +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/product/FridgeProductAssoRepo.java @@ -3,5 +3,8 @@ package ntnu.idatt2016.v233.SmartMat.repository.product; import ntnu.idatt2016.v233.SmartMat.entity.fridgeProduct.FridgeProductAsso; import org.springframework.data.jpa.repository.JpaRepository; +import java.util.Optional; + public interface FridgeProductAssoRepo extends JpaRepository<FridgeProductAsso, Long> { + Optional<FridgeProductAsso> findAllById(long id); } 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 1ce831de16bd63f894e5da85722b5e8b3097bd06..1afcabe2f4cc5395cd33f2ba4ee0822461477532 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 @@ -153,12 +153,16 @@ public class FridgeService { * @return an optional containing the fridge product if it exists */ public Optional<Object> deleteAmountFromFridge(long fridgeProductId, int amount) { - if(amount < 0 ){ - System.out.println("Given amount " + amount + " < " + " Stored in db"); + 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); + return Optional.of(fridgeProductAssoRepo.save(fridgeProductAsso1)); } else { - System.out.println("Given amount " + amount + " > " + " Stored in db"); + fridgeProductAssoRepo.delete(fridgeProductAsso.get()); + return Optional.of(true); } - return Optional.empty(); } /**