Exemple #1
0
        public void BuyStuff()
        {
            IDatabase        database        = CreateDatabase();
            IShoppingService shoppingService = new ShoppingService(database);
            IOrderProcessor  orderProcessor  = new OrderProcessor(database);
            IActionHandler   actionHandler   = new ActionHandler();

            User user = shoppingService.SignIn("*****@*****.**", "secret");
            Cart cart = shoppingService.GetCart("*****@*****.**");

            Product ball = shoppingService.GetProduct("Ball");

            cart.AddProduct(ball);
            cart.AddProduct(ball);
            cart.AddProduct(shoppingService.GetProduct("Monitor"));

            var completedOrder = actionHandler
                                 .Handle(() => orderProcessor.CompleteOrder(cart));
            var order = completedOrder.Item;

            if (completedOrder.IsValid)
            {
                Console.WriteLine($"Order was completed. You've spent {order.TotalPrice} PLN.");
                return;
            }
            Console.WriteLine(completedOrder.ErrorMessage);
        }