Example #1
0
        public IActionResult Create(int id)
        {
            var ingections = IngestionViewModel.OneDayIngestions;
            var viewModel  = new OneDayFoodViewModel
            {
                AppUserID  = id,
                Date       = DateTime.Today.Date,
                Ingestions = ingections
            };

            PopulateFoodDropDownList();
            return(View(viewModel));
        }
Example #2
0
        public async Task <OneDayFood> AddOrEditOneDayFoodAsync(OneDayFoodViewModel viewModel, int id)
        {
            var oneDayFood = new OneDayFood();
            var check      = await GetOneDayFoodBiIdAsync(id);

            if (check != null)
            {
                oneDayFood = check;
            }
            oneDayFood.Water = viewModel.Water;
            if (oneDayFood.OneDayFoodID == 0)
            {
                oneDayFood.Date      = viewModel.Date;
                oneDayFood.AppUserID = viewModel.AppUserID;
                _context.OneDayFood.Add(oneDayFood);
                _context.SaveChanges();
                return(await OneDayFoodByUserIdForDateAsync(viewModel.AppUserID, viewModel.Date));
            }
            _context.SaveChanges();
            return(await GetOneDayFoodBiIdAsync(id));
        }
Example #3
0
        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));
        }
Example #4
0
        // 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));
        }