예제 #1
0
        //[ValidateAntiForgeryToken]
        public async Task <IActionResult> Create([Bind("Id,UserId,UserSwallowId")] UserSwallowSelection userSwallowsSelection, int grainselect)
        {
            AppUser user = await _userManager.FindByNameAsync(User.Identity.Name);

            userSwallowsSelection.UserId = user.Id;
            //userSwallowsSelection.UserSwallowsId = grainselect;
            if (userSwallowsSelection.Id >= 0 & userSwallowsSelection.UserId != null & userSwallowsSelection.UserSwallowId != 0)
            {
                var item = await _context.UserSwallowSelection.Where(x => x.UserId == user.Id).FirstOrDefaultAsync(x => x.UserSwallowId == userSwallowsSelection.UserSwallowId);

                if (item == null)
                {
                    _context.Add(userSwallowsSelection);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Index)));
                }
                else
                {
                    // ModelState.AddModelError("", "Swallows alreay exist");
                    var errorMessage = "Swallows alreay exist";
                    //return RedirectToAction(nameof(Create));
                    return(RedirectToAction("Index", new { message = errorMessage }));
                }
            }
            return(View(userSwallowsSelection));
        }
예제 #2
0
        //[ValidateAntiForgeryToken]
        //public async Task<IActionResult> Edit(int id, [Bind("Id,UserId,UserSwallowsId")] UserSwallowSelection userSwallowsSelection, int grainselect)
        public async Task <JsonResult> Edit(int id, [Bind("Id,UserId,UserSwallowId")] UserSwallowSelection userSwallowsSelection, int grainselect)
        {
            AppUser user = await _userManager.FindByNameAsync(User.Identity.Name);

            var checkExist = await _context.UserSwallowSelection.Where(x => x.UserId == user.Id).Select(x => x.UserSwallowId).ToListAsync();

            List <int> checkEqual = new List <int>();
            var        checkIs    = await _context.UserSwallowSelection.Where(x => x.UserId == user.Id).Where(x => x.Id == id).Select(x => x.UserSwallowId).ToListAsync();

            foreach (var item in checkExist)
            {
                if (item == checkIs[0])
                {
                    checkEqual.Add(id);
                }
            }
            // userGrainDishesSelection.UserId = 1;
            //userGrainDishesSelection.UserGrainDishesId = grainselect;
            if (checkExist.Contains(id) == true & checkEqual[0] == 0)
            {
                return(new JsonResult(new { status = 0, message = "Item wasn't found" }));
                //return NotFound();
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var item = await _context.UserSwallowSelection.FirstOrDefaultAsync(x => x.UserSwallowId == userSwallowsSelection.UserSwallowId && x.Id != userSwallowsSelection.Id);

                    if (!checkExist.Contains(userSwallowsSelection.UserSwallowId))
                    {
                        _context.Update(userSwallowsSelection);
                        await _context.SaveChangesAsync();

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