private IngredientViewModel GenerateIngredientViewModel(int typeId, NutrientsPerMeal npm, double userCalories) { var ing = repo.GetRandomIngredient(typeId); var units = repo.GetUnitsOfMesurement(ing.Id); var ingViewModel = new IngredientViewModel(); ingViewModel.BindIngredient(ing); ingViewModel.BaseUnitEnergy = units; var calorieForType = npm.GetCalorieForType(ingViewModel.Type, userCalories); ingViewModel.FillCalculatedEnergyList(calorieForType); return(ingViewModel); }
public MenuViewModel GetMenu(DateTime date, int userId) { ds = SqlHelper.ExecuteDataset(cs, "getMealsForMenu", userId, date); MenuViewModel menu = new MenuViewModel(); menu.ForDay = date; foreach (DataRow row in ds.Tables[0].Rows) { Meal meal = new Meal(); meal.Id = (int)row["IDMeal"]; meal.Name = row["Name"].ToString(); meal.MealNameId = (int)row["MealNameID"]; DataSet ings = SqlHelper.ExecuteDataset(cs, "getIngredientsForMeal", meal.Id); foreach (DataRow ingRow in ings.Tables[0].Rows) { IngredientViewModel ingVM = new IngredientViewModel(); var tmpIng = new Ingredient { Id = (int)ingRow["IDIngredient"], Name = ingRow["Name"].ToString(), TypeId = (int)ingRow["IDIngredientType"], }; ingVM.BindIngredient(tmpIng); DataSet units = SqlHelper.ExecuteDataset(cs, "getCalculatedEnergy", ingVM.Id, meal.Id); foreach (DataRow unit in units.Tables[0].Rows) { UnitEnergy ue = new UnitEnergy(); ue.Value = float.Parse(unit["CalculatedValue"].ToString()); ue.Unit = new UnitOfMesurement { Id = (int)unit["UnitOfMesurementID"], Type = unit["Type"].ToString() }; ingVM.CalculatedUnitEnergy.Add(ue); } meal.Ingredients.Add(ingVM); } menu.Meals.Add(meal); } return(menu); }