private void AddCalculation(int dayId, List <DishParam> dishes, int weight) { var calc = new Calculation { DayId = dayId, ClientWeight = weight, Calories = bestDayOptions.Calories, Proteins = bestDayOptions.Proteins, Fats = bestDayOptions.Fats, Carbohydrates = bestDayOptions.Carbohydrates, BreakfastCoefficient = bestDayOptions.BreakfastCoefficient, LunchCoefficient = bestDayOptions.LunchCoefficient, DinnerCoefficient = bestDayOptions.DinnerCoefficient, DayCoefficient = bestDayOptions.DayCoefficient, Created = DateTime.Now }; _repository.AddCalculation(calc); for (int i = 0; i < bestDayOptions.DishWeight.Length; i++) { _repository.AddDishCalculation(new DishCalculation { CalculationId = calc.Id, DishId = dishes[i].Id, MealType = dishes[i].MealType, Weight = bestDayOptions.DishWeight[i], ConstWeight = bestDayOptions.DishConstWeight[i], Calories = bestDayOptions.DishWeight[i] * dishes[i].CaloriesPer100 / 100, Proteins = bestDayOptions.DishWeight[i] * dishes[i].ProteinsPer100 / 100, Fats = bestDayOptions.DishWeight[i] * dishes[i].FatsPer100 / 100, Carbohydrates = bestDayOptions.DishWeight[i] * dishes[i].CarbohydratesPer100 / 100, Name = dishes[i].Name }); } }