コード例 #1
0
ファイル: MealController.cs プロジェクト: Seglya/BeFit
        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));
        }