Exemple #1
0
 public static OrderSingleton Instance(PizzaBoxContext context)
 {
     if (_instance == null)
     {
         _instance = new OrderSingleton(context);
     }
     return(_instance);
 }
Exemple #2
0
 private static Order CreateNewOrder()
 {
     OrderSingleton.CreateNewOrder();
     _orderSingleton.Pizzas   = new List <APizza>();
     _orderSingleton.Customer = SelectCustomer();
     PrintStoreList();
     _orderSingleton.Store = SelectStore();
     PrintPizzaList();
     _orderSingleton.Pizzas.Add(SelectPizza());
     return(_orderSingleton);
 }
        /// <summary>
        ///
        /// </summary>
        private static void Run()
        {
            var order = new Order();

            Console.WriteLine("\r\n********************");
            Console.WriteLine("Welcome to PizzaBox!");
            Console.WriteLine("********************\r\n");
            order.Customer = GetCustomer();
            Console.WriteLine($"\r\nHello {order.Customer}! Would you like to place an order or review your order history?");
            Console.WriteLine("1 - Place a new order\r\n2 - Review order history");
            if (Console.ReadLine() == "2")
            {
                PrintOrderHistory(order.Customer);
                return;
            }

            var Continue = true;

            PrintStoreList();

            order.Store = SelectStore();

            var PizzaCount = 0;

            while (Continue)
            {
                PrintPizzaList();
                order.AddPizza(SelectPizza());
                PizzaCount++;
                if (PizzaCount >= 50)
                {
                    break;
                }
                if (order.Total >= 250)
                {
                    Console.WriteLine("You have exceeded $250 for your order. Unable to add anything more.");
                    break;
                }
                Console.WriteLine("\r\nWould you like to add another pizza to your order? Y or N");
                var answer = Console.ReadLine();
                if (!(answer == "Y" || answer == "y"))
                {
                    Continue = false;
                }
            }
            Console.WriteLine("\r\nYour order is:");
            PrintOrder(order);
            Console.WriteLine($"And your total is: ${string.Format("{0:#.00}", order.Total)}\r\n");
            Console.WriteLine($"Thank you for your order, {order.Customer}!\r\n");
            OrderSingleton.Update(order);
        }