public async Task <IActionResult> Create([Bind("City,Country,FirstName,LastName,Phone,PostalCode,State")] Order order) { ApplicationUser user = await _userManager.GetUserAsync(User); if (ModelState.IsValid) { ShoppingCart cart = ShoppingCart.GetCart(this.HttpContext); List <CartItem> items = cart.GetCartItems(_context); List <OrderDetail> details = new List <OrderDetail>(); foreach (CartItem item in items) { OrderDetail detail = CreateOrderDetailForThisItem(item); detail.Order = order; details.Add(detail); _context.Add(detail); } order.User = user; order.OrderDate = DateTime.Today; order.Total = ShoppingCart.GetCart(this.HttpContext).GetTotal(_context); order.Gst = (order.Total * Convert.ToDecimal(0.15)); order.OrderDetails = details; _context.SaveChanges(); return(RedirectToAction("Purchased", new RouteValueDictionary( new { action = "Purchased", id = order.OrderId }))); } return(View(order)); }
public void EmptyCart(QualityBooksContext db) { var cartItems = db.CartItems.Where(cart => cart.CartID == ShoppingCartId); foreach (var cartItem in cartItems) { db.CartItems.Remove(cartItem); } db.SaveChanges(); }
public void ClearCart(QualityBooksContext apContext) { var cartItems = apContext.CartItems.Where(ci => ci.CartID == ShoppingCartId); foreach (var cartItem in cartItems) { apContext.CartItems.Remove(cartItem); } apContext.SaveChanges(); }
public int RemoveFromCart(int id, QualityBooksContext db) { var cartItem = db.CartItems.SingleOrDefault(cart => cart.CartID == ShoppingCartId && cart.Product.Id == id); int itemCount = 0; if (cartItem != null) { if (cartItem.Count > 1) { cartItem.Count--; itemCount = cartItem.Count; } else { db.CartItems.Remove(cartItem); } db.SaveChanges(); } return(itemCount); }
public void AddToCart(Product product, QualityBooksContext db) { var cartItem = db.CartItems.SingleOrDefault(c => c.CartID == ShoppingCartId && c.Product.Id == product.Id); if (cartItem == null) { cartItem = new CartItem { Product = product, CartID = ShoppingCartId, Count = 1, DateCreated = DateTime.Now }; db.CartItems.Add(cartItem); } else { cartItem.Count++; } db.SaveChanges(); }