// // GET: /ShoppingCart/ public IActionResult Index() { var cart = ShoppingCart.GetCart(_db, Context); var items = cart.GetCartItems(); var itemsCount = items.Sum(x => x.Count); var subTotal = items.Sum(x => x.Count * x.Product.Price); var shipping = itemsCount * (decimal)5.00; var tax = (subTotal + shipping) * (decimal)0.05; var total = subTotal + shipping + tax; var costSummary = new OrderCostSummary { CartSubTotal = subTotal.ToString("C"), CartShipping = shipping.ToString("C"), CartTax = tax.ToString("C"), CartTotal = total.ToString("C") }; // Set up our ViewModel var viewModel = new ShoppingCartViewModel { CartItems = items, CartCount = itemsCount, OrderCostSummary = costSummary }; // Track cart review event with measurements _telemetry.TrackTrace("Cart/Server/Index"); // Return the view return View(viewModel); }
// // GET: /ShoppingCart/ public ActionResult Index() { var cart = ShoppingCart.GetCart(db, HttpContext); var items = cart.GetCartItems(); var itemsCount = items.Sum(x => x.Count); var subTotal = items.Sum(x => x.Count * x.Product.Price); var shipping = itemsCount * (decimal)5.00; var tax = (subTotal + shipping) * (decimal)0.05; var total = subTotal + shipping + tax; var costSummary = new OrderCostSummary { CartSubTotal = subTotal.ToString("C"), CartShipping = shipping.ToString("C"), CartTax = tax.ToString("C"), CartTotal = total.ToString("C") }; //if (total > 150) //{ // throw new ArgumentException("This becomes to expensive..."); //} // Set up our ViewModel var viewModel = new ShoppingCartViewModel { CartItems = items, CartCount = itemsCount, OrderCostSummary = costSummary }; // Track cart review event with measurements telemetry.TrackTrace("Cart/Server/Index"); // Return the view return View(viewModel); }