Example #1
0
        public void Perform(ActionExecutionContext context)
        {
            //OrderDto orderDto = new OrderDto();
            context.Out.WriteLine(ConsoleColor.Yellow, "NEW ORDER");
            context.Out.WriteLine("Enter number of order");
            string number = context.In.ReadLine();

            context.Out.WriteLine(ConsoleColor.Green, "CREATE NEW CUSTOMER");
            var customerId = CreateNewCustomer(context);

            context.Out.WriteLine("Enter price of delivery");
            string  temp = context.In.ReadLine();
            decimal price;

            while (!Decimal.TryParse(temp, out price))
            {
                context.Out.WriteLine("Enter correct price of delivery");
                temp = context.In.ReadLine();
            }
            context.Out.WriteLine("Enter cost of delivery");
            var orderId = _orderApi.AddNewOrder(number, customerId, price);

            context.Out.WriteLine(ConsoleColor.Green, "CHOOSE PRODUCTS");
            var products = _productApi.GetProducts();
            var builder  = new MenuBuilder()
                           .Repeatable();

            foreach (var product in products)
            {
                var currentProduct = product;
                builder.Item(product.Name, ctx => AddOrderLine(orderId, currentProduct.Id, context));
            }

            builder.Item("Accept", ctx => Accept(ctx, orderId))
            .GetMenu()
            .Run();
        }