public async Task <IActionResult> Index() { var shoppingCartDetail = new ShoppingCartDetailViewModel() { OrderHeader = new OrderHeader() }; var currentUserId = GetCurrentUserId(); var carts = await _dbContext.ShoppingCarts .Where(s => s.UserId == currentUserId).ToListAsync(); if (carts != null) { shoppingCartDetail.Carts = carts; } var totalPrice = await GetTotalPrice(carts); shoppingCartDetail.OrderHeader.TotalOriginal = totalPrice; shoppingCartDetail.OrderHeader.TotalFinal = shoppingCartDetail.OrderHeader.TotalOriginal; // Set coupon code to session if (HttpContext.Session.GetString(StaticData.CouponCode) != null) { var coupon = await _dbContext.Coupons .FirstOrDefaultAsync(c => c.CouponName.ToLower() == HttpContext.Session.GetString(StaticData.CouponCode).ToLower()); var finalPrice = GetDiscount(coupon, totalPrice); if (totalPrice - finalPrice == 0) { TempData["CodeMessage"] = $"Code is not valid, Minimum amount is {coupon.MinimumAmount}$!"; HttpContext.Session.Remove(StaticData.CouponCode); } else { shoppingCartDetail.OrderHeader.TotalFinal = finalPrice; shoppingCartDetail.OrderHeader.CouponCode = HttpContext.Session.GetString(StaticData.CouponCode); } } return(View(shoppingCartDetail)); }
public static void updateShoppingCartDetail(this ShoppingCartDetail shoppingCartDetail, ShoppingCartDetailViewModel shoppingCartDetailVm) { shoppingCartDetail.ShoppingCartID = shoppingCartDetailVm.ShoppingCartID; shoppingCartDetail.ProductID = shoppingCartDetailVm.ProductID; shoppingCartDetail.Quantity = shoppingCartDetailVm.Quantity; shoppingCartDetail.Price = shoppingCartDetailVm.Price; shoppingCartDetail.PromotionID = shoppingCartDetailVm.PromotionID; }