public ActionResult Cart() { DisplayOrderDetailsVM cdList = new DisplayOrderDetailsVM(); cdList.CDVM = new List <CartDetailsViewModel>(); if (Session["cart"] != null) { DisplayOrderDetailsVM cartIds = (DisplayOrderDetailsVM)Session["cart"]; //type casting using (ShoppingCartEntities db = new ShoppingCartEntities()) { CartDetailsViewModel cd = new CartDetailsViewModel(); foreach (var item in cartIds.CDVM) { cd = db.tblProductDetails.Where(c => c.id == item.ProductId).Select(c => new CartDetailsViewModel { ProductName = c.productName, Description = c.description, Id = c.id, ImagePath = c.imagePath, Price = c.price, ProductId = c.productId, Quantity = item.Quantity, TotalPrice = item.Quantity * c.price }).FirstOrDefault(); cdList.CDVM.Add(cd); } } } return(View(cdList.CDVM)); }
public IActionResult CheckOut(OrderViewModel model) { if (ModelState.IsValid) { var orderModel = new CreateOrderModel() { OrderViewModel = model, OrderItems = new List <OrderItemDto>() }; foreach (var orderItem in _cartService.TransformCart().Items) { orderModel.OrderItems.Add(new OrderItemDto() { Id = orderItem.Key.Id, Price = orderItem.Key.Price, Quantity = orderItem.Value }); } var orderResult = _orderService.CreateOrder(orderModel, User.Identity.Name); _cartService.RemoveAll(); return(RedirectToAction("OrderConfirmed", new { id = orderResult.Id })); } var detailsModel = new CartDetailsViewModel() { CartViewModel = _cartService.TransformCart(), OrderViewModel = model }; return(View("Details", detailsModel)); }
public CartDetailsViewModel RemoveBookFromCart(string userName, int bookId) { BooksStoreDBContext db = new BooksStoreDBContext(); CartDetailsViewModel cartVM = new CartDetailsViewModel(); cartVM.CartItems = new List <CartItemViewModel>(); CartItem item = db.CartItems.FirstOrDefault(c => c.UserName == userName && c.BookId == bookId); if (item != null) { item.Count--; item.Book.Count++; cartVM.CartItems.Add(ConvertEntityToVM(item)); Hubs.HubAccessor.Instance.UpdateBookCounter(bookId, item.Book.Count.Value); if (item.Count == 0) { db.CartItems.Remove(item); } db.SaveChanges(); } cartVM.TotalBooksCount = db.CartItems.Count(c => c.UserName == userName); cartVM.TotalItemsCount = this.GetItemsCount(userName); cartVM.TotalPrice = CalculateTotalPrice(userName); return(cartVM); }
public ActionResult RemoveBookFromCart(int bookId) { CartService service = new CartService(); CartDetailsViewModel cartVM = service.RemoveBookFromCart(User.Identity.Name, bookId); return(Json(cartVM, JsonRequestBehavior.AllowGet)); }
public async Task <IActionResult> DetailsAsync(string id) { var viewModel = new CartDetailsViewModel( await cartReader.GetByIdAsync(id), (await cartReader.GetItemsOfAsync(id)).ToList(), (await productRepository.FindAllAsync(x => true)).ToList()); return(View(viewModel)); }
public IActionResult Details() { var model = new CartDetailsViewModel { CartViewModel = _cartService.TransformCart(), OrderViewModel = new OrderViewModel() }; return(View(model)); }
public async Task <ActionResult> Details(string id) { var viewModel = new CartDetailsViewModel { Cart = await _cartReader.Get(id), CartItems = await _cartReader.GetCartItems(id), Products = await _productRepository.Find(x => true) }; return(View(viewModel)); }
public CartDetailsViewModel GetCartItems(string userName) { BooksStoreDBContext db = new BooksStoreDBContext(); List <CartItemViewModel> itemsList = new List <CartItemViewModel>(); CartDetailsViewModel cartVM = new CartDetailsViewModel(); foreach (CartItem item in db.CartItems.Where(c => c.UserName == userName)) { itemsList.Add(ConvertEntityToVM(item)); } cartVM.CartItems = itemsList; cartVM.TotalBooksCount = itemsList.Count; cartVM.TotalItemsCount = this.GetItemsCount(userName); cartVM.TotalPrice = CalculateTotalPrice(userName); return(cartVM); }
public JsonResult GetCartItems() { DisplayOrderDetailsVM ids = new DisplayOrderDetailsVM(); CartDetailsViewModel objcdvm = new CartDetailsViewModel(); if (Session["Cart"] != null) { ids = (DisplayOrderDetailsVM)Session["Cart"]; return(Json(new { cartItemsCount = ids.CDVM.Count, cartItems = ids })); } else { return(Json(new { cartItemsCount = 0, cartItems = ids }, JsonRequestBehavior.AllowGet)); } }
private void CreateOrderFormCart(string userName, Order order, BooksStoreDBContext db) { CartService service = new CartService(); CartDetailsViewModel cartVM = service.GetCartItems(userName); order.Total = cartVM.TotalPrice; List <OrderDetail> orderDetails = new List <OrderDetail>(); foreach (CartItemViewModel item in cartVM.CartItems) { OrderDetail detail = ConvertCartItemToOrderDetails(item); detail.OrderId = order.OrderId; db.OrdersDetails.Add(detail); } db.SaveChanges(); service.ClearCart(userName, true); }
public static string ToHtml(this CartDetailsViewModel game) { return($@"<div class=""list-group""> <div class=""list-group-item""> <div class=""media""> <a class=""btn btn-outline-danger btn-lg align-self-center mr-3"" href=""/shopping/remove?id={game.Id}"">X</a> <img style=""width: 200px; height: 200px;"" class=""card-image-top img-fluid img-thumbnail"" onerror=""this.src='https://i.ytimg.com/vi/{game.VideoId}/maxresdefault.jpg';"" src=""{game.ThumbnailUrl}""> <div class=""media-body align-self-center""> <a href=""/games/details?id={game.Id}""><h4 style=""margin-left: 20px"" class=""mb-1 list-group-item-heading"">{game.Title}</h4></a> <p style=""margin-left: 20px"">{TextTransformer.Cut(game.Description)}</p> </div> <div class=""col-md-2 text-center align-self-center mr-auto""> <h2>{game.Price:F2}€</h2> </div> </div> </div> </div>"); }
public ActionResult Addtocart(int id) { ShoppingCartEntities objdb = new ShoppingCartEntities(); var price = objdb.tblProductDetails.Where(c => c.productId == id).FirstOrDefault().price; DisplayOrderDetailsVM cartIds = new DisplayOrderDetailsVM(); cartIds.CDVM = new List <CartDetailsViewModel>(); if (Session["cart"] == null) { CartDetailsViewModel cv = new CartDetailsViewModel() { ProductId = id, Quantity = 1, Price = price }; cartIds.CDVM.Add(cv); Session["cart"] = cartIds; } else { cartIds = (DisplayOrderDetailsVM)Session["cart"]; var prod = cartIds.CDVM.Where(c => c.ProductId == id).FirstOrDefault(); if (prod != null) { prod.Quantity = prod.Quantity + 1; } else { CartDetailsViewModel cv = new CartDetailsViewModel() { ProductId = id, Quantity = 1, Price = price }; cartIds.CDVM.Add(cv); } Session["cart"] = cartIds; } return(Json(new { totalCount = cartIds.CDVM.Count }, JsonRequestBehavior.AllowGet)); }