//post
        //[HttpPost]
        //[ValidateAntiForgeryToken]
        public async Task <IActionResult> Index(int item)
        {
            AppUser appUser = await _userManager.FindByNameAsync(User.Identity.Name);

            var checkExistUserInUserPSIDb = await _context.UserPlScheduler.Select(x => x.UserId).ToListAsync();

            if (checkExistUserInUserPSIDb.Contains(appUser.Id) == false)
            {
                _toastNotification.AddErrorToastMessage("Time for when sheduling to start should be selected first");
                return(RedirectToAction("Create", "FoodSchedulerTimeStarts"));
            }
            var Check     = _context.UserPlScheduler.Where(x => x.UserId == appUser.Id).Select(x => x.SoupFrequency).ToList();
            var CheckBool = _context.UserPlScheduler.Where(x => x.UserId == appUser.Id).Select(x => x.showSF).ToList();

            if (item == 0 & CheckBool[0] == true)
            {
                return(RedirectToAction("Create", "WeeklySoupSchedule"));
            }
            if (item == 0 & CheckBool[0] == false & Check[0] == 0)
            {
                return(RedirectToAction("Create", "WeeklySoupSchedule"));
            }

            if (Check[0] == 0)
            {
                var startSoupFrquency = await _soupfrequencymanager.StartSoupFrequencyProcess(appUser.Id, item);

                var getSoupListWith = await _context.UserPlScheduler.Where(x => x.UserId == appUser.Id).Select(x => x.SoupList).ToListAsync();

                List <string> passValue = new List <string>();
                var           Monday    = getSoupListWith[0].Split(new char[] { '|' });
                foreach (var value in Monday)
                {
                    passValue.Add(value);
                }
                ViewBag.soupList1 = passValue;
            }
            var getSoupList = await _context.UserPlScheduler.Where(x => x.UserId == appUser.Id).Select(x => x.showSF).ToListAsync();

            ViewBag.showOrNotShow = getSoupList[0];

            if (Check[0] != 0)
            {
                var getFromDb = await _context.UserPlScheduler.Where(x => x.UserId == appUser.Id).Select(x => x.SoupList).ToListAsync();

                var Monday = getFromDb[0].Split(new char[] { '|' });
                ViewBag.soupList1 = Monday;
            }



            return(View());
        }
        public async Task <IActionResult> WeeklyScheduler()
        {
            List <string>   Checkfoodlist     = new List <string>();
            List <string>   combinedlist      = new List <string>();
            List <string>   timeresult        = new List <string>();
            List <string>   combinedlistsplit = new List <string>();
            List <DateTime> savetime          = new List <DateTime>();
            AppUser         users             = await _userManager.FindByNameAsync(User.Identity.Name);

            var gettingfoodfromlightfood = await _context.UserLightFoodSelection.Where(x => x.UserId == users.Id).Select(x => x.Id).ToListAsync();

            var gettingfoodfromgraindish = await _context.UserGrainDishSelection.Where(x => x.UserId == users.Id).Select(x => x.Id).ToListAsync();

            var gettingfoodfromswallow = await _context.UserSwallowSelection.Where(x => x.UserId == users.Id).Select(x => x.Id).ToListAsync();


            if (gettingfoodfromgraindish.Count < 4)
            {
                _toastNotification.AddErrorToastMessage("The selected grain dishes should not be less than 4");
                return(View());
            }
            if (gettingfoodfromlightfood.Count < 4)
            {
                _toastNotification.AddErrorToastMessage("The selected light food should not be less than 4");
                return(View());
            }
            if (gettingfoodfromswallow.Count < 4)
            {
                _toastNotification.AddErrorToastMessage("The selected swallow should not be less than 4");
                return(View());
            }
            var randomise = await _scheduleManager.OrderOne(users.Id);

            combinedlist = randomise;

            var Check = await _context.UserPlScheduler.Where
                        (
                x => x.UserId == users.Id
                        ).Select(x => x.SoupFrequency
                                 ).ToListAsync();

            var comperuser = await _scheduleoperation.FetchFoodByTime(users.Id);

            if (comperuser.FoodList == null)
            {
                string combinedFoodList =
                    (combinedlist[0] + "#" + combinedlist[1] + "#" + combinedlist[2] + "#" + combinedlist[3] + "#" + combinedlist[4] + "#" + combinedlist[5] + "#" + combinedlist[6]);

                AppUser user = await _userManager.FindByNameAsync(User.Identity.Name);

                var starttime = await _context.FoodSchedulerTimeStarts.ToListAsync();

                foreach (var item in starttime)
                {
                    savetime.Add(item.Name.Date);
                }
                DateTime t        = savetime[0];
                var      FoodList = new UserPlSchedulers
                {
                    FoodList  = combinedFoodList,
                    UserId    = user.Id,
                    StartTime = t
                };
                var createFoodList = await _scheduleoperation.CreateFood(FoodList, user.Id);

                var newlist = await _scheduleManager.SplitFoodList(user.Id);

                combinedlistsplit = newlist;


                var Monday    = combinedlistsplit[0].Split(new char[] { '|' });
                var Tuesday   = combinedlistsplit[1].Split(new char[] { '|' });
                var Wednesday = combinedlistsplit[2].Split(new char[] { '|' });
                var Thursday  = combinedlistsplit[3].Split(new char[] { '|' });
                var Friday    = combinedlistsplit[4].Split(new char[] { '|' });
                var Saturday  = combinedlistsplit[5].Split(new char[] { '|' });
                var Sunday    = combinedlistsplit[6].Split(new char[] { '|' });


                ViewBag.Monday0 = Monday[0]; ViewBag.Monday1 = Monday[1]; ViewBag.Monday2 = Monday[2];

                ViewBag.Tuesday0 = Tuesday[0]; ViewBag.Tuesday1 = Tuesday[1]; ViewBag.Tuesday2 = Tuesday[2];

                ViewBag.Wednesday0 = Wednesday[0]; ViewBag.Wednesday1 = Wednesday[1]; ViewBag.Wednesday2 = Wednesday[2];

                ViewBag.Thursday0 = Thursday[0]; ViewBag.Thursday1 = Thursday[1]; ViewBag.Thursday2 = Thursday[2];

                ViewBag.Friday0 = Friday[0]; ViewBag.Friday1 = Friday[1]; ViewBag.Friday2 = Friday[2];

                ViewBag.Saturday0 = Saturday[0]; ViewBag.Saturday1 = Saturday[1]; ViewBag.Saturday2 = Saturday[2];

                ViewBag.Sunday0 = Sunday[0]; ViewBag.Sunday1 = Sunday[1]; ViewBag.Sunday2 = Sunday[2];

                return(View());
            }

            var time = await _scheduleManager.ComperTime(User.Identity.Name);



            timeresult = time;
            var timecheck = timeresult[0].Split(new char[] { '|' });


            var databasetime = timecheck[0]; var presenttime = timecheck[1];



            DateTime intdatabasetime = DateTime.Parse(databasetime);
            DateTime intpresenttime  = DateTime.Parse(presenttime);


            if (intdatabasetime < intpresenttime)
            {
                var timeupdate = DateTime.Now;

                var FoodList = new UserPlSchedulers
                {
                    StartTime = timeupdate,
                };
                var updateFoodList = await _scheduleoperation.ÙpdateFood(FoodList);
            }

            if (databasetime == presenttime)
            {
                var startSoupFrquency = await _soupfrequencymanager.StartSoupFrequencyProcess(users.Id, Check[0]);

                string combinedFoodList =
                    (combinedlist[0] + "#" + combinedlist[1] + "#" + combinedlist[2] + "#" + combinedlist[3] + "#" + combinedlist[4] + "#" + combinedlist[5] + "#" + combinedlist[6]);

                //var user = _userManager.FindByNameAsync(User.Identity.Name);


                var timeupdate = intdatabasetime.AddDays(6);

                var FoodList = new UserPlSchedulers
                {
                    FoodList  = combinedFoodList,
                    StartTime = timeupdate,
                    showSF    = true
                };
                var updateFoodList = await _scheduleoperation.ÙpdateFood(FoodList);

                var newlist = await _scheduleManager.SplitFoodList(User.Identity.Name);

                combinedlistsplit = newlist;


                var Monday    = combinedlistsplit[0].Split(new char[] { '|' });
                var Tuesday   = combinedlistsplit[1].Split(new char[] { '|' });
                var Wednesday = combinedlistsplit[2].Split(new char[] { '|' });
                var Thursday  = combinedlistsplit[3].Split(new char[] { '|' });
                var Friday    = combinedlistsplit[4].Split(new char[] { '|' });
                var Saturday  = combinedlistsplit[5].Split(new char[] { '|' });
                var Sunday    = combinedlistsplit[6].Split(new char[] { '|' });


                ViewBag.Monday0 = Monday[0]; ViewBag.Monday1 = Monday[1]; ViewBag.Monday2 = Monday[2];

                ViewBag.Tuesday0 = Tuesday[0]; ViewBag.Tuesday1 = Tuesday[1]; ViewBag.Tuesday2 = Tuesday[2];

                ViewBag.Wednesday0 = Wednesday[0]; ViewBag.Wednesday1 = Wednesday[1]; ViewBag.Wednesday2 = Wednesday[2];

                ViewBag.Thursday0 = Thursday[0]; ViewBag.Thursday1 = Thursday[1]; ViewBag.Thursday2 = Thursday[2];

                ViewBag.Friday0 = Friday[0]; ViewBag.Friday1 = Friday[1]; ViewBag.Friday2 = Friday[2];

                ViewBag.Saturday0 = Saturday[0]; ViewBag.Saturday1 = Saturday[1]; ViewBag.Saturday2 = Saturday[2];

                ViewBag.Sunday0 = Sunday[0]; ViewBag.Sunday1 = Sunday[1]; ViewBag.Sunday2 = Sunday[2];
            }
            else
            {
                AppUser user = await _userManager.FindByNameAsync(User.Identity.Name);

                var newlist = await _scheduleManager.SplitFoodList(user.Id);

                combinedlistsplit = newlist;


                var Monday    = combinedlistsplit[0].Split(new char[] { '|' });
                var Tuesday   = combinedlistsplit[1].Split(new char[] { '|' });
                var Wednesday = combinedlistsplit[2].Split(new char[] { '|' });
                var Thursday  = combinedlistsplit[3].Split(new char[] { '|' });
                var Friday    = combinedlistsplit[4].Split(new char[] { '|' });
                var Saturday  = combinedlistsplit[5].Split(new char[] { '|' });
                var Sunday    = combinedlistsplit[6].Split(new char[] { '|' });


                ViewBag.Monday0 = Monday[0]; ViewBag.Monday1 = Monday[1]; ViewBag.Monday2 = Monday[2];

                ViewBag.Tuesday0 = Tuesday[0]; ViewBag.Tuesday1 = Tuesday[1]; ViewBag.Tuesday2 = Tuesday[2];

                ViewBag.Wednesday0 = Wednesday[0]; ViewBag.Wednesday1 = Wednesday[1]; ViewBag.Wednesday2 = Wednesday[2];

                ViewBag.Thursday0 = Thursday[0]; ViewBag.Thursday1 = Thursday[1]; ViewBag.Thursday2 = Thursday[2];

                ViewBag.Friday0 = Friday[0]; ViewBag.Friday1 = Friday[1]; ViewBag.Friday2 = Friday[2];

                ViewBag.Saturday0 = Saturday[0]; ViewBag.Saturday1 = Saturday[1]; ViewBag.Saturday2 = Saturday[2];

                ViewBag.Sunday0 = Sunday[0]; ViewBag.Sunday1 = Sunday[1]; ViewBag.S3unday2 = Sunday[2];
            }


            {
                return(View());
            }
        }