private void btn_clearCart_Click(object sender, EventArgs e) { if (MessageBox.Show("Are you sure you want to clear your cart?", "Clear Cart", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { _cartManager.ClearCart(_cart); ClearAllItemsPanelsFromCart(); UpdateCartControllers(); } }
private void LoadCartFromDatabase() { Cart cart = _cartManager.LoadCartFromDatabase(_account); if (cart == null) { MessageBox.Show($"You don't have a cart.", "Load Cart", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } _cartManager.ClearCart(_cart); foreach (var cartItem in cart.Items) { Item item = _catalogManager.GetItemByItemCode(cartItem.ItemCode); item.QtyInPackage = cartItem.QtyInPackage; _cart.Items.Add(item); } ViewCart(); }
public IActionResult ClearCart() { CartManager.ClearCart(); return(PartialView("_CartPartial")); }
public async Task <IActionResult> CheckPayResult(bool PaySuccess = false, string OrderKey = "") { if (!PaySuccess) { TempData["PayResult"] = $"付款失敗QQ...詳情請洽歐付寶的客服人員(02-2655-0115)"; return(View("PayResult")); } int?GetOrderId = HttpContext.Session.GetInt32(OrderKey); int OrderId = 0; // 查看此筆交易的 Key 是否有效 if (GetOrderId == null) { return(NotFound()); } else { // 若有效,則取得此筆交易的ID & 清除此筆交易的 KEY OrderId = (int)GetOrderId; HttpContext.Session.Remove(OrderKey); // 更新訂單狀態 _context.OrderForm.FirstOrDefault(o => o.Id == OrderId).CheckOut = "YES"; // 更新庫存和銷量 Cart CurrentCart = CartManager.GetCurrentCart(); foreach (var cartItem in CurrentCart) { Product product = _context.Product.FirstOrDefault(m => m.Id == cartItem.Id); product.Quantity -= cartItem.Quantity; product.SellVolume += cartItem.Quantity; // 連動更新 Product2 的庫存和銷量 if (product.FromProduct2) { Product2 product2 = _context.Product2.FirstOrDefault(m => m.Id == product.Product2Id); product2.Quantity -= cartItem.Quantity; product2.SellVolume += cartItem.Quantity; } } await _context.SaveChangesAsync(); // 移除購物頁面的快取,避免顯示舊的庫存 int PageAmount = _context.Product.Count() / 9 + 1; for (int Page = 1; Page <= PageAmount; Page++) { _memoryCache.Remove($"ProductPage{Page}"); } // 清空購物車 CartManager.ClearCart(); _logger.LogInformation($"[{User.Identity.Name}]對第{OrderId}號訂單付款成功!"); TempData["PayResult"] = $"付款成功!~請點選上方的[我的訂單]來查看付款結果。"; return(View("PayResult")); } }