Ejemplo n.º 1
0
 /// <summary>
 /// Checks to see if this ingredient contains another ingredient
 /// </summary>
 /// <param name="ingredientId"></param>
 /// <returns></returns>
 public bool ContainsIngredient(int ingredientId)
 {
     if (!IngredientSet.HasEntries(Id))
     {
         return(false);
     }
     foreach (IngredientSet ingredientSet in IngredientSet.GetAll(Id))
     {
         Ingredient ingredient = Ingredient.Get(ingredientSet.IngredientId);
         if ((ingredientId == ingredient.Id) || (ingredient.ContainsIngredient(ingredientId)))
         {
             return(true);
         }
     }
     return(false);
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Will either use the cost of its ingredients, if this is
        /// a prepared ingredient, else returns this.CostPerUnit
        /// </summary>
        /// <returns></returns>
        public double GetActualCostPerUnit()
        {
            if (!IngredientSet.HasEntries(Id))
            {
                return(CostPerUnit);
            }
            double result = 0;

            foreach (IngredientSet ingredientSet in IngredientSet.GetAll(Id))
            {
                Ingredient ingredient             = Ingredient.Get(ingredientSet.IngredientId);
                double     amountInInventoryUnits = UnitConversion.Convert(ingredientSet.Amount,
                                                                           ingredientSet.MeasurementUnit, ingredient.MeasurementUnit);
                result += (amountInInventoryUnits * ingredient.GetActualCostPerUnit());
            }
            return(result);
        }