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; } }