//[ValidateAntiForgeryToken]
        public async Task <IActionResult> Create([Bind("Id,UserId,UserGrainDishId")] UserGrainDishSelection userGrainDishesSelection, int grainselect)
        {
            if (!ModelState.IsValid)
            {
                string msg = (ModelState.FirstOrDefault(x => x.Value.Errors.Any()).Value.Errors.FirstOrDefault().ErrorMessage).Replace("'", "");
                return(new JsonResult(new { status = 0, message = msg }));
            }

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

            var checkfood = _context.UserGrainDishSelection.Where(x => x.UserId == user.Id && x.UserGrainDishId == userGrainDishesSelection.UserGrainDishId).ToList().Count();

            if (checkfood == 0)
            {
                userGrainDishesSelection.UserId = user.Id;
                _context.Add(userGrainDishesSelection);
                await _context.SaveChangesAsync();

                _toastNotification.AddErrorToastMessage(ResponseMessageUtilities.CREATED_SUCESSFUL);
                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                _toastNotification.AddErrorToastMessage(ResponseMessageUtilities.ITEM_EXIST);
                var errorMessage = "GrainDishes alreay exist";
                //return RedirectToAction(nameof(Create));
                return(RedirectToAction("Index", new { message = errorMessage }));
            }
        }
        //[ValidateAntiForgeryToken]
        //public async Task<IActionResult> Edit(int id, [Bind("Id,UserId,UserGrainDishesId")] UserGrainDishSelection userGrainDishesSelection, int grainselect)
        public async Task <JsonResult> Edit(int id, [Bind("Id,UserId,UserGrainDishId")]
                                            UserGrainDishSelection userGrainDishesSelection, int grainselect)
        {
            if (!ModelState.IsValid)
            {
                string msg = (ModelState.FirstOrDefault(x => x.Value.Errors.Any()).Value.Errors.FirstOrDefault().ErrorMessage).Replace("'", "");
                return(new JsonResult(new { status = 0, message = msg }));
            }
            if (ModelState.IsValid)
            {
                AppUser user = await _userManager.FindByNameAsync(User.Identity.Name);

                var checkfoods = _context.UserGrainDishSelection.Where(x => x.Id != id && x.UserId == user.Id && x.UserGrainDishId == userGrainDishesSelection.UserGrainDishId).ToList().Count();

                try
                {
                    //if (checkid==0||checkfood==0)
                    if (checkfoods == 0)
                    {
                        var model = _context.UserGrainDishSelection.FirstOrDefault(x => x.Id == userGrainDishesSelection.Id);
                        model.UserGrainDishId = userGrainDishesSelection.UserGrainDishId;
                        await _context.SaveChangesAsync();

                        //_context.Update(userGrainDishesSelection);
                        //await _context.SaveChangesAsync();
                        return(new JsonResult(new { status = 1, message = "Your request was processed successfully" }));
                    }
                    else
                    {
                        return(new JsonResult(new { status = 0, message = "The grain dish already exist" }));
                    }
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!UserGrainDishSelectionExists(userGrainDishesSelection.Id))
                    {
                        //return NotFound();
                        return(new JsonResult(new { status = 0, message = "Item wasn't found" }));
                    }
                    else
                    {
                        throw;
                    }
                }
                //return RedirectToAction(nameof(Index));
            }
            //return View(userGrainDishesSelection);
            return(new JsonResult(new { status = 0, message = "Check your entries" }));
        }