Exemple #1
0
        private void RecalculateNutrients()
        {
            TotalCostSum = 0;
            foreach (var dri in DietaryReferenceIntakes)
            {
                TotalNutrients.SetNutrientValue(dri.NutrientName, FoodIntakes.Sum(f => f.Food.GetNutrientValue(dri.NutrientName) * f.Intake));

                var nutValue = TotalNutrients.GetNutrientValue(dri.NutrientName);
                if (nutValue == 0)
                {
                    nutValue = 0.000001;
                }
                double diff = 0;

                diff = Math.Abs(dri.Min.Value / nutValue - 1);

                if (nutValue > dri.Max)
                {
                    diff += nutValue / dri.Max.Value;
                }

                TotalCost.SetNutrientValue(dri.NutrientName, diff);
                TotalCostSum += diff;
            }
        }