|
@@ -49,6 +49,10 @@ class MerchantIngredient{
|
|
|
this._quantity = quantity;
|
|
this._quantity = quantity;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ updateQuantity(quantity){
|
|
|
|
|
+ this._quantity += this.convertToBase(quantity);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
convertToBase(quantity){
|
|
convertToBase(quantity){
|
|
|
switch(this._ingredient.unit){
|
|
switch(this._ingredient.unit){
|
|
|
case "g": return quantity;
|
|
case "g": return quantity;
|
|
@@ -312,14 +316,14 @@ class Merchant{
|
|
|
}else{
|
|
}else{
|
|
|
ingredients[ingredient.ingredient.id] = recipe.quantity * ingredient.quantity;
|
|
ingredients[ingredient.ingredient.id] = recipe.quantity * ingredient.quantity;
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const keys = Object.keys(ingredients);
|
|
const keys = Object.keys(ingredients);
|
|
|
for(let i = 0; i < keys.length; i++){
|
|
for(let i = 0; i < keys.length; i++){
|
|
|
for(let j = 0; j < this._ingredients.length; j++){
|
|
for(let j = 0; j < this._ingredients.length; j++){
|
|
|
if(keys[i] === this._ingredients[j].ingredient.id){
|
|
if(keys[i] === this._ingredients[j].ingredient.id){
|
|
|
- this._ingredients.quantity -= ingredients[keys[i]];
|
|
|
|
|
|
|
+ this._ingredients[j].updateQuantity(-ingredients[keys[i]]);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -376,8 +380,8 @@ class Merchant{
|
|
|
if(isNew){
|
|
if(isNew){
|
|
|
for(let i = 0; i < order.ingredients.length; i++){
|
|
for(let i = 0; i < order.ingredients.length; i++){
|
|
|
for(let j = 0; j < this._ingredients.length; j++){
|
|
for(let j = 0; j < this._ingredients.length; j++){
|
|
|
- if(order.ingredients[i] === this._ingredients[j].ingredient){
|
|
|
|
|
- this._ingredients[j].quantity += order.ingredients[i].quantity;
|
|
|
|
|
|
|
+ if(order.ingredients[i].ingredient === this._ingredients[j].ingredient){
|
|
|
|
|
+ this._ingredients[j].updateQuantity(order.ingredients[i].quantity);
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|