Example #1
0
        public async Task <IActionResult> StartOrder(ShoppingCartDto shoppingCartDto)
        {
            var command = new StartOrderCommand(CustomerId, shoppingCartDto.OrderId, shoppingCartDto.TotalPrice, shoppingCartDto.Payment.CardName, shoppingCartDto.Payment.CardNumber,
                                                shoppingCartDto.Payment.CardExpirationDate, shoppingCartDto.Payment.CardCvv);

            await _mediatrHandler.SendCommand(command);

            if (IsOperationValid())
            {
                return(RedirectToAction("Index", "Order"));
            }

            shoppingCartDto = await _orderQueries.GetCustomerShoppingCart(CustomerId);

            return(View("PurchaseSummary", shoppingCartDto));
        }
Example #2
0
        public async Task <IActionResult> StartOrder(CartViewModel cartViewModel)
        {
            var cart = await _orderQueries.GetCartByClient(ClientId);

            var command = new StartOrderCommand(cart.OrderId, ClientId, cart.TotalPrice, cartViewModel.Payment.CardName,
                                                cartViewModel.Payment.CardName, cartViewModel.Payment.ExpirationCard,
                                                cartViewModel.Payment.CvcCard);

            await _mediatrHandler.SendCommand(command);

            if (ValidOperation())
            {
                return(RedirectToAction("Index", "Order"));
            }

            return(View("PurchaseSummary", await _orderQueries.GetCartByClient(ClientId)));
        }
Example #3
0
        public async Task <IActionResult> StartOrder(CartDto cartDto)
        {
            var cart = await _orderQueries.GetCartByClient(ClientId);

            var command = new StartOrderCommand(ClientId, cart.OrderId, cart.Total, cartDto.Payment.NameCard,
                                                cartDto.Payment.NumberCard, cartDto.Payment.ExpirationDateCard, cartDto.Payment.CvvCard);

            await _mediatorHandler.SendCommand(command);

            if (IsValidOperation())
            {
                return(RedirectToAction("Index", "Order"));
            }

            // TODO: Remove after dev test
            cart.Payment = cartDto.Payment;

            return(View("OrderSummary", cart));
        }