class Order{ constructor(id, name, date, ingredients, parent){ this.id = id; this.name = name; this.date = new Date(date); this.ingredients = []; this.parent = parent; for(let i = 0; i < ingredients.length; i++){ for(let j = 0; j < parent.ingredients.length; j++){ if(ingredients[i].ingredient === parent.ingredients[j].ingredient.id){ this.ingredients.push({ ingredient: parent.ingredients[j].ingredient, quantity: ingredients[i].quantity, price: ingredients[i].price }); break; } } } } convertPrice(unitType, unit, price){ if(unitType === "mass"){ switch(unit){ case "g": break; case "kg": price *= 1000; break; case "oz": price *= 28.3495; break; case "lb": price *= 453.5924; break; } }else if(unitType === "volume"){ switch(unit){ case "ml": price /= 1000; break; case "l": break; case "tsp": price /= 202.8842; break; case "tbsp": price /= 67.6278; break; case "ozfl": price /= 33.8141; break; case "cup": price /= 4.1667; break; case "pt": price /= 2.1134; break; case "qt": price /= 1.0567; break; case "gal": price *= 3.7854; break; } }else if(unitType === "length"){ switch(unit){ case "mm": price /= 1000; break; case "cm": price /= 100; break; case "m": break; case "in": price /= 39.3701; break; case "ft": price /= 3.2808; break; } } return price; } } module.exports = Order;