/// <summary> /// Created by Michael Takrama /// 05/09/2017 /// /// Populates Product/Index flyout /// </summary> /// <returns></returns> public CartPageModel ExtractCartInformation() { var userName = User.Identity.Name; var pageModel = new CartPageModel(); try { pageModel.ItemsInCart = _userCartManager.RetrieveUserCart(userName); pageModel.SavedOrderList = _orderManager.RetrieveSaveOrders(userName); } catch { Debug.WriteLine("Cart Load Failed"); return(new CartPageModel { ItemsInCart = new List <UserCartLine>(), SavedOrderList = new List <int>() }); } if (pageModel != null) { return(pageModel); } else { return(new CartPageModel { ItemsInCart = new List <UserCartLine>(), SavedOrderList = new List <int>() }); } }
public ActionResult CartPage(ContentModel model) { var cartModel = new CartPageModel(); var currentCart = CurrentCart.Create(SnuffoSettings.STORE_NAME); cartModel.CartItems = currentCart.GetCartItemsByCookieId().OrderBy(c => c.Name).ToList(); if (!cartModel.CartItems.IsNullOrEmpty()) { var productIds = cartModel.CartItems.Where(c => c.ProductId.HasValue).Select(c => c.ProductId); if (productIds.Any()) { cartModel.Products = UvendiaContext.Products.All(productIds.ToArray()).ToList(); } var ticketSaleIds = cartModel.CartItems.Where(c => c.TicketSaleId.HasValue).Select(c => c.TicketSaleId); if (ticketSaleIds.Any()) { cartModel.TicketsSale = UvendiaContext.TicketSales.All(ticketSaleIds.ToArray()).ToList(); } cartModel.Subtotal = currentCart.CalculateSubtotal(cartModel.CartItems); } var checkoutUrl = $"/{CurrentUser.LanguageCode}/cart/checkout-address/"; cartModel.CheckoutUrl = (!CurrentUser.IsAuthenticated) ? $"/{CurrentUser.LanguageCode}/cart/checkout-login/?returnUrl={checkoutUrl}" : checkoutUrl; return(CurrentTemplate(cartModel)); }
public IActionResult Buy(int id, int added) { var notes = SessionHelper.GetObjectFromJson <List <IdCountModel> >(HttpContext.Session, "notes"); if (notes != null) { foreach (var cmodel in notes) { if (cmodel.Id == id) { added = cmodel.Count; break; } } } CartPageModel productModel = new CartPageModel(); if (SessionHelper.GetObjectFromJson <List <CartPageModel> >(HttpContext.Session, "cart") == null) { List <CartPageModel> cart = new List <CartPageModel>(); BookModel thebook = new ApiGetBooks().ApiFetchedBooks.Where(b => b.Id == id).FirstOrDefault(); if (thebook != null && thebook.Stock >= added) { cart.Add(new CartPageModel { bookModel = thebook, Count = added }); } SessionHelper.SetObjectAsJson(HttpContext.Session, "cart", cart); } else { List <CartPageModel> cart = SessionHelper.GetObjectFromJson <List <CartPageModel> >(HttpContext.Session, "cart"); int index = DoesExist(id); BookModel thebook; if (index != -1) { thebook = new ApiGetBooks().ApiFetchedBooks.Where(b => b.Id == id).FirstOrDefault(); if (thebook != null && thebook.Stock >= added + cart[index].Count) { cart[index].Count += added; } } else { thebook = new ApiGetBooks().ApiFetchedBooks.Where(b => b.Id == id).FirstOrDefault(); if (thebook != null && thebook.Stock >= added) { cart.Add(new CartPageModel { bookModel = thebook, Count = added }); } } SessionHelper.SetObjectAsJson(HttpContext.Session, "cart", cart); } return(RedirectToAction("Index")); }
public ActionResult UpdateCart(CartPageModel model) { var currentCart = CurrentCart.Create(SnuffoSettings.STORE_NAME); foreach (var item in model.CartItems) { currentCart.UpdateQuantity(item.Id, item.Quantity); } currentCart.UpdateCartQuantityCount(); return(Redirect($"/{CurrentUser.LanguageCode}/cart")); }
/// <summary> /// William Flood /// /// Created: /// 2017/04/06 /// /// /// </summary> /// <returns>View(pageModel)</returns> public ActionResult ViewCart() { var userName = User.Identity.Name; var pageModel = new CartPageModel(); // Access IClaimsIdentity which contains claims //IClaimsIdentity claimsIdentity = (IClaimsIdentity)icp.Identity; try { pageModel.ItemsInCart = _userCartManager.RetrieveUserCart(userName); pageModel.SavedOrderList = _orderManager.RetrieveSaveOrders(userName); } catch { return(new HttpStatusCodeResult(500)); } return(View(pageModel)); }
public CartPageModel GetCart() { var model = new CartPageModel(); var productIds = UserInfo.Cart.Select(x => x.ProductId).ToList(); var products = Db.Set <tblProduct>().Include(x => x.tblFiles).Where(x => productIds.Contains(x.Id)).ToList(); foreach (var product in products) { var cartItem = UserInfo.Cart.Single(x => x.ProductId == product.Id); var item = new CartProductItem { ProductId = cartItem.ProductId, Price = cartItem.Price, Count = cartItem.Count, ProductName = product.Name, Description = CommonUtils.StripHtml(product.Descripton).Trim(), Image = product.tblFiles.Any() ? product.tblFiles.OrderBy(f => f.Position).First().Path : string.Empty }; model.Products.Add(item); } return(model); }