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)); }
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)); } }