Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
 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;
 }