public IActionResult Edit(int id, string[][] Weight, string[][] food) { _weightOfFoodRepository.DeleteWeightOfFoodByIngestId(id); var weghtOfFoodViewMod = new WeightOfFoodViewModel(); for (int i = 0; i < Weight[0].Length; i++) { weghtOfFoodViewMod.Weight = double.Parse(Weight[0][i]); weghtOfFoodViewMod.Food = _foodRepository.GetFoodAsync(int.Parse(food[0][i])).Result; weghtOfFoodViewMod.FoodID = int.Parse(food[0][i]); weghtOfFoodViewMod.IngestionId = id; var newWeight = _weightOfFoodRepository.CreatetWeightOfFoodAsync(weghtOfFoodViewMod); } return(RedirectToAction("Detail", new { id = _ingestionRepository.GetIngestionByIdAsync(id).Result.OneDayFoodID })); }
public async Task <WeightOfFood> CreatetWeightOfFoodAsync(WeightOfFoodViewModel viewModel) { var newWeight = new WeightOfFood(); newWeight.FoodID = viewModel.Food.FoodID; newWeight.Weight = viewModel.Weight; if (newWeight.WeightOfFoodID == 0) { newWeight.IngestionID = viewModel.IngestionId; _context.WeightOfFood.Add(newWeight); _context.SaveChanges(); return (await _context.WeightOfFood.SingleOrDefaultAsync( t => t.FoodID == viewModel.Food.FoodID& t.IngestionID == viewModel.IngestionId)); } _context.SaveChanges(); return(newWeight); }
public async Task <IActionResult> Create(OneDayFoodViewModel viewModel, string[][] Weight, string[][] food) { var dates = await _oneDayFoodRepository.OneDayFoodByUserIdForDateAsync(viewModel.AppUserID, viewModel.Date); if (dates != null) { ModelState.AddModelError("", errorMessage: "Measurement on this date already exist!"); } if (ModelState.IsValid) { viewModel.Ingestions = new List <IngestionViewModel>(); var oneDayFood = await _oneDayFoodRepository.AddOrEditOneDayFoodAsync(viewModel, 0); int i = 0; foreach (var ingestion in IngestionViewModel.OneDayIngestions) { ingestion.OneDayFoodId = oneDayFood.OneDayFoodID; var ing = _ingestionRepository.CreateIngestionsAsync(ingestion).Result; if (food[i][0] != null) { for (int j = 0; j < food[i].Length; j++) { var weight = new WeightOfFoodViewModel { Food = _foodRepository.GetFoodAsync(int.Parse(food[i][j])).Result, IngestionId = ing.IngestionID, Weight = int.Parse(Weight[i][j]) }; var weightOffood = _weightOfFoodRepository.CreatetWeightOfFoodAsync(weight).Result; } } i++; } return(RedirectToAction("Detail", new { id = oneDayFood.OneDayFoodID })); } return(View(viewModel)); }
// GET: /<controller>/ public IActionResult Index(int id) { ViewData["user"] = id; var AllOneDayFoodForUser = _oneDayFoodRepository.OneDayFoodsByUserId(id); var AllMealsViewModel = new List <MealDetailViewModel>(); foreach (var oneDayFood in AllOneDayFoodForUser) { var list = new List <CountMealPerIngestion>(); var ingList = new List <IngestionViewModel>(); foreach (var ingestion in oneDayFood.Ingestions) { var weightList = new List <WeightOfFoodViewModel>(); foreach (var weightOfFood in ingestion.WeightOfFood) { var newWeight = new WeightOfFoodViewModel { Food = weightOfFood.Food, IngestionId = weightOfFood.IngestionID, Weight = weightOfFood.Weight }; weightList.Add(newWeight); } var ingViewModel = new IngestionViewModel { WeightOfFood = weightList, Name = ingestion.Name, OneDayFoodId = oneDayFood.OneDayFoodID }; ingList.Add(ingViewModel); list.Add(ingViewModel.GetCountMealPerIngestion); } var newOneDayViewModel = new OneDayFoodViewModel { AppUserID = id, Date = oneDayFood.Date, Ingestions = ingList, Water = oneDayFood.Water }; AllMealsViewModel.Add(new MealDetailViewModel { CountMealPerIngestions = list, OneDayFoodViewModel = newOneDayViewModel, OneDayFoodId = oneDayFood.OneDayFoodID }); } return(View(AllMealsViewModel)); }