public IActionResult Menu(int addDays = 0)
        {
            DateTime day = DateTime.Now.AddDays(addDays);

            var currentMenu = menu.Where(f => f.Date.Day.Equals(day.Day)).FirstOrDefault();

            if (currentMenu == null)
            {
                currentMenu = new FoodIntakeModel();
            }

            bool IsSubmitted = currentMenu.Date.Date < DateTime.Now.Date.AddDays(2);

            if (currentMenu.Date.Date == new DateTime())
            {
                IsSubmitted = false;
            }

            var user = HttpContext.Session.GetString("UserType");

            ViewBag.IsStaff = user.Equals("staff");

            ViewBag.IsSubmitted = IsSubmitted;
            ViewBag.DayCount    = addDays;
            ViewBag.CurrentDay  = Helper.Common.GetDayName(day);

            return(View(currentMenu));
        }
        public IActionResult MenuSubmit(string Date)
        {
            Date = Common.RemoveSuffix(Date);
            DateTime day = Convert.ToDateTime(Date);

            FoodIntakeModel food = HttpContext.Session.GetObjectFromJson <FoodIntakeModel>("NewMenuSelection");

            var currentMenu = food;

            if (currentMenu == null)
            {
                currentMenu = new FoodIntakeModel();
            }

            bool IsSubmitted = currentMenu.Date.Date < DateTime.Now.Date.AddDays(2);

            if (currentMenu.Date.Date == new DateTime())
            {
                IsSubmitted = false;
            }

            var user = HttpContext.Session.GetString("UserType");

            ViewBag.IsStaff = user.Equals("staff");

            ViewBag.IsSubmitted = IsSubmitted;
            ViewBag.DayCount    = day.Day - DateTime.Now.Day;
            ViewBag.CurrentDay  = Helper.Common.GetDayName(day);

            return(View("Menu", currentMenu));
        }
        public IActionResult MealSelection(MealSelectionModel model, string date, int pageNo)
        {
            ViewBag.ProfileImage = HttpContext.Session.GetString("Photo");
            var name = HttpContext.Session.GetString("Name");

            ViewBag.AllergyInfo = string.Format("{0} is lactose intolerant. The menu options have been filtered to accommated this.", name);
            switch (pageNo)
            {
            case 1:
                ViewBag.PageTitle = "Breakfast";
                ViewBag.PageNo    = pageNo;
                var breakfastItems = new MealSelectionModel();
                breakfastItems.Mains = breakfastList.Where(m => m.FoodTypeId == 1).ToList();
                breakfastItems.Sides = breakfastList.Where(m => m.FoodTypeId == 2).ToList();
                return(View(breakfastItems));

            case 2:
                ViewBag.PageTitle = "Lunch";
                ViewBag.Date      = date;
                ViewBag.PageNo    = pageNo;
                HttpContext.Session.SetObjectAsJson("Breakfast", breakfastList.Where(m => m.Id == model.SelectedMain || m.Id == model.SelectedSide).ToList());
                ModelState.Clear();
                var lunchItems = new MealSelectionModel();
                lunchItems.Mains = lunchList.Where(m => m.FoodTypeId == 1).ToList();
                lunchItems.Sides = lunchList.Where(m => m.FoodTypeId == 2).ToList();
                return(View(lunchItems));

            case 3:
                ViewBag.PageTitle = "Dinner";
                ViewBag.Date      = date;
                ViewBag.PageNo    = pageNo;
                HttpContext.Session.SetObjectAsJson("Lunch", lunchList.Where(m => m.Id == model.SelectedMain || m.Id == model.SelectedSide).ToList());
                ModelState.Clear();
                var dinnerItems = new MealSelectionModel();
                dinnerItems.Mains = dinnerList.Where(m => m.FoodTypeId == 1).ToList();
                dinnerItems.Sides = dinnerList.Where(m => m.FoodTypeId == 2).ToList();
                return(View(dinnerItems));

            case 4:
                var _food = new FoodIntakeModel();
                _food.Breakfast = new List <FoodModel>();
                _food.Lunch     = new List <FoodModel>();
                _food.Dinner    = new List <FoodModel>();

                selectedBreakfast = HttpContext.Session.GetObjectFromJson <List <FoodModel> >("Breakfast");
                selectedLunch     = HttpContext.Session.GetObjectFromJson <List <FoodModel> >("Lunch");
                selectedDinner    = dinnerList.Where(m => m.Id == model.SelectedMain || m.Id == model.SelectedSide).ToList();

                _food.Breakfast.AddRange(selectedBreakfast);
                _food.Lunch.AddRange(selectedLunch);
                _food.Dinner.AddRange(selectedDinner);


                HttpContext.Session.SetObjectAsJson("NewMenuSelection", _food);

                return(RedirectToAction("MenuSubmit", new { Date = date }));

            default:
                return(View());
            }
        }
        public IActionResult Food(int addDays = 0)
        {
            DateTime day = DateTime.Now.AddDays(addDays);

            ViewBag.BreakfastCount = 0;
            ViewBag.LunchCount     = 0;
            ViewBag.DinnerCount    = 0;
            ViewBag.SnackCount     = 0;
            int breakfast = 0;
            int lunch     = 0;
            int dinner    = 0;

            var user = HttpContext.Session.GetString("UserType");

            ViewBag.IsStaff = user.Equals("staff");

            var foodIntake = foodIntakeList.Where(f => f.Date.Day.Equals(day.Day)).FirstOrDefault();

            if (foodIntake == null)
            {
                foodIntake           = new FoodIntakeModel();
                foodIntake.Breakfast = new List <FoodModel>();
                foodIntake.Lunch     = new List <FoodModel>();
                foodIntake.Dinner    = new List <FoodModel>();
                foodIntake.Snacks    = new List <FoodModel>();
            }
            else
            {
                if ((foodIntake.Breakfast[0].PercentageAmount + foodIntake.Breakfast[1].PercentageAmount) / 2 != null)
                {
                    breakfast = (int)(foodIntake.Breakfast[0].PercentageAmount + foodIntake.Breakfast[1].PercentageAmount) / 2;
                    ViewBag.BreakfastCount = breakfast;
                }
                else
                {
                    ViewBag.BreakfastCount = null;
                }
                if ((foodIntake.Lunch[0].PercentageAmount + foodIntake.Lunch[1].PercentageAmount) / 2 != null)
                {
                    lunch = (int)(foodIntake.Lunch[0].PercentageAmount + foodIntake.Lunch[1].PercentageAmount) / 2;
                    ViewBag.LunchCount = lunch;
                }
                else
                {
                    ViewBag.LunchCount = null;
                }
                if ((foodIntake.Dinner[0].PercentageAmount + foodIntake.Dinner[1].PercentageAmount) / 2 != null)
                {
                    dinner = (int)(foodIntake.Dinner[0].PercentageAmount + foodIntake.Dinner[1].PercentageAmount) / 2;
                    ViewBag.DinnerCount = dinner;
                }
                else
                {
                    ViewBag.DinnerCount = null;
                }

                if (foodIntake.Snacks.Any())
                {
                    ViewBag.SnackCount = foodIntake.Snacks[0].PercentageAmount;
                }
                else
                {
                    ViewBag.SnackCount = 0;
                }
            }
            bool IsSubmitted = foodIntake.Date.Date < DateTime.Now.Date;

            ViewBag.BreakfastColour = GetColourString(breakfast);
            ViewBag.LunchColour     = GetColourString(lunch);
            ViewBag.DinnerColour    = GetColourString(dinner);

            ViewBag.IsSubmitted = IsSubmitted;
            ViewBag.DayCount    = addDays;
            ViewBag.CurrentDay  = Helper.Common.GetDayName(day);


            return(View(foodIntake));
        }