public async Task <ActionResult> PurchaseCart(int id, PurchaseCartViewModel purchase) { var items = await _db.CartItems.Where(ci => ci.CartId == id) .Include(ci => ci.Item.Wishlist.Child) .ToListAsync(); if (!items.Any()) { RedirectToAction("ViewCart", new { id = id }); } var availableItems = items.Where(ci => ci.Item.Status == WishlistItemStatus.Available) .ToList(); var unavailableItems = items.Where(ci => ci.Item.Status != WishlistItemStatus.Available) .ToList(); if (unavailableItems.Any()) { await RemoveUnavailableItems(unavailableItems); TempData["unavailableItems"] = ToViewableItems(unavailableItems); } Session["order"] = BuildOrderModel(id, items); return(RedirectToAction("ConfirmOrder", new { id = id })); }
public async Task <IActionResult> ShowCart(PurchaseCartViewModel model) { var loginUser = await userManager.FindByNameAsync(User.Identity.Name); var purchasecart = db.purchaseCarts.FirstOrDefault(x => x.UserId == loginUser.Id && x.IsPaid == false); if (purchasecart != null) { return(View(db.PurchaseCartItems.Include(x => x.psnGift).Include(x => x.xboxGift).Include(x => x.purchaseCart). Where(x => x.PurchaseCardId == purchasecart.Id).ToList() )); } else { TempData["msg"] = "سبد خرید خالی است"; } return(View()); }