public IViewComponentResult Invoke()
        {
            var cartId            = _cartIdProvider.CartId;
            var shoppingCartModel = new ShoppingCartModel(cartId)
            {
                ShoppingCartItems = _getShoppingCartItemsListQuery.Execute(cartId)
            };

            return(View(shoppingCartModel));
        }
Example #2
0
        // GET: /<controller>/
        public IActionResult Index()
        {
            var shoppingCartItems = _getShoppingCartItemsListQuery.Execute(_cartIdProvider.CartId);

            var shoppingCartModel = new ShoppingCartModel(_cartIdProvider.CartId)
            {
                ShoppingCartItems = shoppingCartItems
            };

            return(View(shoppingCartModel));
        }
        public IActionResult Checkout(CreateOrderViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            var shoppingCartItems = _getShoppingCartItemsListQuery.Execute(_cartIdProvider.CartId);

            if (!shoppingCartItems.Any())
            {
                ModelState.AddModelError("", "You cart is empty.Add some goods first");
            }

            var userId = _getApplicationUserId.Execute(HttpContext.User);

            _saveApplicationUserDetails.Execute(userId, viewModel);

            var orderModel = new CreateOrderModel(userId, _cartIdProvider.CartId);

            _createOrderCommand.Execute(orderModel);

            return(RedirectToAction("CheckoutComplete", new { userId, userEmail = viewModel.Email }));
        }