From b8e25bafb5bc5f1417d9ce50d48ecdc66f1a8839 Mon Sep 17 00:00:00 2001
From: Axely <axel.ytteraas@gmail.com>
Date: Fri, 5 May 2023 11:20:08 +0200
Subject: [PATCH] When adding recipe items to shopping list the recipe unit is
 converted to unit in item when comparing

---
 .../matsvinnbackend/service/ShoppingListService.java          | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/service/ShoppingListService.java b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/service/ShoppingListService.java
index 8f855a3..3fca374 100644
--- a/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/service/ShoppingListService.java
+++ b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/service/ShoppingListService.java
@@ -322,7 +322,7 @@ public class ShoppingListService {
         ShoppingList shoppingList = shoppingListRepository.findById(loggedInAccount.getShoppingList().getId()).get();
         recipe.getIngredient().forEach(ingredient -> {
             double itemAmount = ingredient.getItem().getAmount().getQuantity();
-            double ingredientAmount = ingredient.getAmount().getQuantity()*peopleCount;
+            double ingredientAmount = ingredient.getAmount().deserialize().convertTo(ingredient.getItem().getAmount().deserialize().getUnit()).getQuantity()*peopleCount;
             double amountOfItemInFridge = getAmountOfItemFromFridge(ingredient.getItem(),loggedInAccount);
             double ingredientAmountNotOwned = ingredientAmount - amountOfItemInFridge;
             double ingredientAmountToReserve = Math.min(ingredientAmount, amountOfItemInFridge);
@@ -332,7 +332,7 @@ public class ShoppingListService {
             }
             double quantityToAddOfWare = ingredientAmountNotOwned/itemAmount;
             if (quantityToAddOfWare > 0) {
-                Ingredient shoppingListIngredient = new Ingredient(ingredient.getItem(), new SerializedAmount(Math.ceil(quantityToAddOfWare), ingredient.getItem().getAmount().getUnit()));
+                Ingredient shoppingListIngredient = new Ingredient(ingredient.getItem(), new Amount(Math.ceil(quantityToAddOfWare), Count.COUNT).serialize());
                 shoppingListIngredient.setStatus(Ingredient.Status.REQUESTED);
                 ingredientRepository.save(shoppingListIngredient);
                 shoppingList.addIngredient(shoppingListIngredient);
-- 
GitLab