예제 #1
0
        private static void DeleteDb(Bootstrapper.PretendApplication app)
        {
            app.DeleteDatabase();

            var cartModel = app.Read <BasketRequest, BasketsReadModel>(new BasketRequest());

            if (!cartModel.HasCart(ClientId))
            {
                app.Send(new CreateNewCart {
                    ClientId = ClientId
                });
            }
        }
예제 #2
0
        private static void AddProductToCart(Bootstrapper.PretendApplication app, Guid cartId)
        {
            System.Console.WriteLine("Please specify a product:");
            var productGuid = System.Console.ReadLine();

            System.Console.WriteLine("Please specify a quantity:");
            var productQuantity = System.Console.ReadLine();

            var parsedProductId = Guid.Parse(productGuid);
            var parsedQuantity  = int.Parse(productQuantity);

            app.Send(new AddProductToCart {
                CartId = cartId, ProductId = parsedProductId, Quantity = parsedQuantity
            });
        }
예제 #3
0
        private static void PrintProducts(Bootstrapper.PretendApplication app)
        {
            var model = app.Read <ProductsRequest, ProductsReadModel>(new ProductsRequest());

            System.Console.WriteLine("-----");
            if (model.GetAll().Count > 0)
            {
                System.Console.WriteLine("Products:");
                model.GetAll().ToList().ForEach(PrintProducts);
                System.Console.WriteLine("-----");
            }
            else
            {
                System.Console.WriteLine("No products");
            }
        }
예제 #4
0
        private static void PrintCart(Bootstrapper.PretendApplication app)
        {
            var carts = app.Read <BasketRequest, BasketsReadModel>(new BasketRequest());
            var cart  = carts.GetCart(ClientId);

            System.Console.WriteLine("-----");
            if (cart.Items.Count > 0)
            {
                System.Console.WriteLine("Your basket:");
                cart.Items.ForEach(PrintShoppingCartItemReadModel);
                System.Console.WriteLine("-----");
            }
            else
            {
                System.Console.WriteLine("Your basket is empty");
            }
        }
예제 #5
0
 Program(Bootstrapper.PretendApplication app)
 {
     _app = app;
 }
예제 #6
0
 private static void Pay(Bootstrapper.PretendApplication app, Guid orderId)
 {
     app.Send(new PayForOrder {
         OrderId = orderId
     });
 }
예제 #7
0
 private static void Checkout(Bootstrapper.PretendApplication app, Guid cartId)
 {
     app.Send(new Checkout {
         CartId = cartId
     });
 }
예제 #8
0
 private static void ConfirmShipping(Bootstrapper.PretendApplication app, Guid orderId)
 {
     app.Send(new ConfirmShippingAddress {
         OrderId = orderId, Address = "My Home"
     });
 }