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(); }