コード例 #1
0
        public async Task <IActionResult> Details(int id)
        {
            var competitionItemFromDb = await _db.CompetitionItem.Include(m => m.Competition).Include(m => m.SubCompetition).Where(m => m.Id == id).FirstOrDefaultAsync();

            CompetitionCart cartObj = new CompetitionCart()
            {
                CompetitionItem   = competitionItemFromDb,
                CompetitionItemId = competitionItemFromDb.Id
            };

            return(View(cartObj));
        }
コード例 #2
0
        public async Task <IActionResult> Details(CompetitionCart CartObject)
        {
            CartObject.Id = 0;
            if (ModelState.IsValid)
            {
                var claimsIdentity = (ClaimsIdentity)this.User.Identity;
                var claim          = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier);
                CartObject.ApplicationUserId = claim.Value;

                CompetitionCart cartFromDb = await _db.CompetitionCart.Where(c => c.ApplicationUserId == CartObject.ApplicationUserId &&
                                                                             c.CompetitionItemId == CartObject.CompetitionItemId).FirstOrDefaultAsync();

                if (cartFromDb == null)
                {
                    await _db.CompetitionCart.AddAsync(CartObject);
                }
                else
                {
                    cartFromDb.Count = cartFromDb.Count + CartObject.Count;
                }
                await _db.SaveChangesAsync();

                var count = _db.CompetitionCart.Where(c => c.ApplicationUserId == CartObject.ApplicationUserId).ToList().Count();
                HttpContext.Session.SetInt32("ssCartCount", count);

                return(RedirectToAction("Index"));
            }
            else
            {
                var competitionItemFromDb = await _db.CompetitionItem.Include(m => m.Competition).Include(m => m.SubCompetition).Where(m => m.Id == CartObject.CompetitionItemId).FirstOrDefaultAsync();

                CompetitionCart cartObj = new CompetitionCart()
                {
                    CompetitionItem   = competitionItemFromDb,
                    CompetitionItemId = competitionItemFromDb.Id
                };

                return(View(cartObj));
            }
        }