Пример #1
0
        public static User UserConsole(User user, int uID, PizzaStore.Storing.PizzaStoreDBContext db)
        {
            Store location = new Store();
            bool  running  = true;
            int   sID      = 0;

            Console.WriteLine($"\n------------------------\nWelcome, {user.Name.firstName}!\n------------------------\n");
            Console.WriteLine($"Current Location: {location.Name}");

            if (location.Name.Equals("None"))
            {
                Console.WriteLine("Choose a Store: ");
                int i;
                for (i = 0; i < db.Store.ToList().Count; i++)
                {
                    Console.WriteLine($"{i+1}. {db.Store.ToList()[i].Name}");
                }

                Console.WriteLine($"{i+1}. Cancel");

                int input = Convert.ToInt32(Console.ReadLine());


                if (input < i + 1 && input > 0)
                {
                    location.Name = db.Store.ToList()[input - 1].Name;
                    sID           = input;
                }

                user = updateUser(user, uID, db);
            }

            while (running)
            {
                Console.WriteLine("\n=====Main Menu=====");
                Console.WriteLine($"Current Location: {location.Name}\n");
                Console.WriteLine("1. List Locations");
                Console.WriteLine("2. Select Location");
                Console.WriteLine("3. View Pricing Info");
                Console.WriteLine("4. Place an Order");
                Console.WriteLine("5. See Order History");
                Console.WriteLine("6. Exit");

                string input = Console.ReadLine();

                switch (input)
                {
                case "1":
                    Console.WriteLine($"-----Available Locations-----");
                    for (int k = 0; k < db.Store.ToList().Count; k++)
                    {
                        Console.WriteLine($"{k+1}. {db.Store.ToList()[k].Name}");
                    }
                    Console.WriteLine($"-----------------------------");
                    break;

                case "2":

                    Console.WriteLine("Choose a Store: ");
                    int i;
                    for (i = 0; i < db.Store.ToList().Count; i++)
                    {
                        Console.WriteLine($"{i+1}. {db.Store.ToList()[i].Name}");
                    }

                    Console.WriteLine($"{i+1}. Cancel");

                    int input2 = Convert.ToInt32(Console.ReadLine());


                    if (input2 <= i + 1 && input2 > 0)
                    {
                        location.Name = db.Store.ToList()[input2 - 1].Name;
                        sID           = input2;
                    }

                    break;

                case "3":

                    Console.WriteLine("===Pricing Information===");
                    Console.WriteLine("Preset Pizzas are also priced based on this information\n");

                    Console.WriteLine("Size Base Prices:");
                    Console.WriteLine(" Small: $4");
                    Console.WriteLine(" Medium: $7");
                    Console.WriteLine(" Large: $9\n");

                    Console.WriteLine("Topping Prices:");
                    Console.WriteLine(" 1 Topping: $0.50");
                    Console.WriteLine(" 2 Toppings: $0.75");
                    Console.WriteLine(" 3 Toppings: $1");
                    Console.WriteLine(" 4+ Toppings: $1 + $0.50 per additional topping after 3\n");

                    Console.WriteLine("Crust Prices:");
                    Console.WriteLine(" Hand Tossed: Free");
                    Console.WriteLine(" Thin: Free");
                    Console.WriteLine(" Stuffed: $0.75\n");

                    break;

                case "4":

                    PlaceOrder(user, uID, db, sID, location.Name);
                    break;

                case "5":

                    int j;
                    for (j = 0; j < user.Orders.Count; j++)
                    {
                        Console.WriteLine($"Order #{j+1}:");
                        Console.WriteLine($"  Date Ordered: {user.Orders[j].DateOrdered.ToString()}");
                        Console.WriteLine($"  Number of Pizzas: {user.Orders[j].Pizzas.Count}");
                        Console.WriteLine($"  Store: {user.Orders[j].store.Name}\n");
                    }

                    bool running2 = true;

                    while (running2)
                    {
                        Console.WriteLine($"Type the order number you wish to view or type back to go back.");

                        input = Console.ReadLine();

                        switch (input)
                        {
                        case "back":
                            running2 = false;
                            break;

                        default:

                            Console.WriteLine($"-- Store: {user.Orders[Convert.ToInt32(input) - 1].store.Name} --");
                            Console.WriteLine(user.Orders[Convert.ToInt32(input) - 1].getPizzaList());
                            Console.WriteLine($"-- TOTAL: ${user.Orders[Convert.ToInt32(input) -1].getPrice()}");
                            break;
                        }
                    }

                    break;

                case "6":
                    running = false;
                    break;

                default:
                    break;
                }
            }

            return(user);
        }
Пример #2
0
        /* public static void StoreConsole(Store store, PizzaStore.Storing.PizzaStoreDBContext db, int sID){
         *
         * bool running = true;
         *
         * Console.WriteLine($"\n------------------------\nWelcome, {store.Name}!\n------------------------\n");
         *
         * store.Orders = updateStore(store,sID);
         *
         *
         *
         * } */

        public static User updateUser(User user, int uID, PizzaStore.Storing.PizzaStoreDBContext db)
        {
            //Find user
            foreach (var us in db.User.ToList())
            {
                if (uID == us.LoginId)
                {
                    user.Name.firstName = us.FirstName;
                    user.Name.lastName  = us.LastName;

                    //Find user orders
                    foreach (var ord in db.Order.ToList())
                    {
                        if (uID == ord.UserId)
                        {
                            Store store = new Store();

                            foreach (var s in db.Store.ToList())
                            {
                                if (ord.StoreId == s.StoreId)
                                {
                                    store.Name = s.Name;
                                    break;
                                }
                            }

                            List <Pizza> pizzas = new List <Pizza>();

                            //Make Pizza, then add it to the List of Pizzas
                            //Find order pizzas using junction table Order.Pizza
                            foreach (var p in db.PizzaJunction.ToList())
                            {
                                if (ord.OrderId == p.OrderId)
                                {
                                    //Find Pizza referenced by Order.Pizza using Pizza.Pizza table
                                    foreach (var p1 in db.Pizza.ToList())
                                    {
                                        if (p.PizzaId == p1.PizzaId)
                                        {
                                            //Create new Pizza to add to order
                                            Pizza piz = new Pizza();

                                            piz.Name = p1.Name;

                                            //Add Crust to Pizza
                                            foreach (var c in db.Crust.ToList())
                                            {
                                                if (p1.CrustId == c.CrustId)
                                                {
                                                    piz.Crust = new Crust(c.Name);
                                                    break;
                                                }
                                            }

                                            //Add Size to Pizza
                                            foreach (var s in db.Size.ToList())
                                            {
                                                if (p1.SizeId == s.SizeId)
                                                {
                                                    piz.Size = new Size(s.Name);
                                                    break;
                                                }
                                            }

                                            //Find Toppings
                                            foreach (var pt in db.PizzaTopping.ToList())
                                            {
                                                if (pt.PizzaId == p1.PizzaId)
                                                {
                                                    //Add Toppings
                                                    foreach (var top in db.Topping.ToList())
                                                    {
                                                        if (top.ToppingId == pt.ToppingId)
                                                        {
                                                            piz.addTopping(new Topping(top.Name));
                                                            break;
                                                        }
                                                    }
                                                }
                                            }

                                            pizzas.Add(piz);
                                        }
                                    }
                                }
                            }

                            user.Orders.Add(new Order(pizzas, Convert.ToDateTime(ord.DateOrdered), (bool)ord.Placed, (bool)ord.Completed, store));
                        }
                    }
                }
            }

            return(user);
        }
Пример #3
0
        // public static Store SelectStore(Store store, PizzaStore.Storing.PizzaStoreDBContext db){

        //   Console.WriteLine("Choose a Store: ");
        //   int i;
        //   for(i = 0; i < db.Store.ToList().Count; i++){

        //     Console.WriteLine($"{i+1}. {db.Store.ToList()[i].Name}");

        //   }

        //   Console.WriteLine($"{i+1}. Cancel");

        //   int input = Convert.ToInt32(Console.ReadLine());


        //   if (input < i+1 && input > 0){

        //    store.Name = db.Store.ToList()[i-1].Name;

        //   }

        //   return store;

        // }

        public static void PlaceOrder(User user, int uID, PizzaStore.Storing.PizzaStoreDBContext db, int sID, string storeName)
        {
            Order order = new Order();

            order.store = new Store()
            {
                Name = storeName
            };

            bool running = true;

            while (running)
            {
                Console.WriteLine("=== Editing Order ===");
                Console.WriteLine("1. Choose Preset Pizza");
                Console.WriteLine("2. Create Custom Pizza");
                Console.WriteLine("3. View Order");
                Console.WriteLine("4. Edit Pizza");
                Console.WriteLine("5. Remove Pizza");
                Console.WriteLine("6. Checkout");
                Console.WriteLine("7. Exit (Order will be lost)");

                string input = Console.ReadLine();

                switch (input)
                {
                case "1":
                    Console.WriteLine("=== Choose Preset Pizza ===");
                    Console.WriteLine("1. Meat Lovers (Hand tossed, Pepperoni, Ham, Sausage)");
                    Console.WriteLine("2. Fred Special (Hand tossed, Ham, Pineapple)");
                    Console.WriteLine("3. Jeremy Special (Thin, Bacon, Pineapple)");
                    Console.WriteLine("4. Deluxe (Hand Tossed, Pepperoni, Sausage, Mushroom, Green Pepper, Onion)");

                    string input2 = Console.ReadLine();
                    Pizza  pizza;

                    switch (input2)
                    {
                    case "1": // Meat Lovers
                        if (order.Pizzas.Count < 50)
                        {
                            pizza      = order.CreatePizza();
                            pizza.Name = "Meat Lover's";
                            pizza.addTopping(new Topping("pepperoni"));
                            pizza.addTopping(new Topping("ham"));
                            pizza.addTopping(new Topping("sausage"));
                            pizza.Crust = new Crust("handtossed");

                            Console.WriteLine("--Choose a size--");
                            Console.WriteLine("1. Small");
                            Console.WriteLine("2. Medium");
                            Console.WriteLine("3. Large");

                            string input5 = Console.ReadLine();

                            switch (input5)
                            {
                            case "1":
                                pizza.Size = new Size("small");
                                break;

                            case "2":
                                pizza.Size = new Size("medium");
                                break;

                            case "3":
                                pizza.Size = new Size("large");
                                break;
                            }
                        }
                        else
                        {
                            Console.WriteLine("You have reached the maximum number of pizzas. The pizza has not been added.");
                        }

                        break;

                    case "2": //Fred Special

                        if (order.Pizzas.Count < 50)
                        {
                            pizza      = order.CreatePizza();
                            pizza.Name = "Fred Special";
                            pizza.addTopping(new Topping("ham"));
                            pizza.addTopping(new Topping("pineapple"));
                            pizza.Crust = new Crust("handtossed");

                            Console.WriteLine("--Choose a size--");
                            Console.WriteLine("1. Small");
                            Console.WriteLine("2. Medium");
                            Console.WriteLine("3. Large");

                            string input6 = Console.ReadLine();

                            switch (input6)
                            {
                            case "1":
                                pizza.Size = new Size("small");
                                break;

                            case "2":
                                pizza.Size = new Size("medium");
                                break;

                            case "3":
                                pizza.Size = new Size("large");
                                break;
                            }
                        }
                        else
                        {
                            Console.WriteLine("You have reached the maximum number of pizzas. The pizza has not been added.");
                        }

                        break;

                    case "3": // Jeremy Special

                        if (order.Pizzas.Count < 50)
                        {
                            pizza      = order.CreatePizza();
                            pizza.Name = "Jeremy Special";
                            pizza.addTopping(new Topping("bacon"));
                            pizza.addTopping(new Topping("pineapple"));
                            pizza.Crust = new Crust("handtossed");

                            Console.WriteLine("--Choose a size--");
                            Console.WriteLine("1. Small");
                            Console.WriteLine("2. Medium");
                            Console.WriteLine("3. Large");

                            string input7 = Console.ReadLine();

                            switch (input7)
                            {
                            case "1":
                                pizza.Size = new Size("small");
                                break;

                            case "2":
                                pizza.Size = new Size("medium");
                                break;

                            case "3":
                                pizza.Size = new Size("large");
                                break;
                            }
                        }
                        else
                        {
                            Console.WriteLine("You have reached the maximum number of pizzas. The pizza has not been added.");
                        }

                        break;

                    case "4": // Deluxe

                        if (order.Pizzas.Count < 50)
                        {
                            pizza      = order.CreatePizza();
                            pizza.Name = "Deluxe";
                            pizza.addTopping(new Topping("bacon"));
                            pizza.addTopping(new Topping("pineapple"));
                            pizza.Crust = new Crust("handtossed");

                            Console.WriteLine("--Choose a size--");
                            Console.WriteLine("1. Small");
                            Console.WriteLine("2. Medium");
                            Console.WriteLine("3. Large");

                            string input8 = Console.ReadLine();

                            switch (input8)
                            {
                            case "1":
                                pizza.Size = new Size("small");
                                break;

                            case "2":
                                pizza.Size = new Size("medium");
                                break;

                            case "3":
                                pizza.Size = new Size("large");
                                break;
                            }
                        }
                        else
                        {
                            Console.WriteLine("You have reached the maximum number of pizzas. The pizza has not been added.");
                        }

                        break;

                    default:
                        break;
                    }
                    break;

                case "2": //Create Custom Pizza

                    Pizza tempPizza = new Pizza(new List <Topping>(), new Crust("handtossed"), new Size("medium"), "Custom");


                    Console.WriteLine("===Current Pizza===");

                    tempPizza = EditPizza(tempPizza);

                    if (tempPizza.Size.pSize.Equals("") || tempPizza.Crust.Name.Equals("") || tempPizza.Toppings.Count == 0)
                    {
                        Console.WriteLine("Custom Pizza creation unsuccessful.");
                    }
                    else
                    {
                        order.Pizzas.Add(tempPizza);
                        Console.WriteLine("Custom Pizza creation successful!");
                    }
                    break;

                case "3": //View Order
                    Console.WriteLine(order.getPizzaList());
                    Console.WriteLine($"Total: ${order.getPrice()}");
                    break;

                case "4": //Edit Pizza

                    Console.WriteLine("Choose a pizza to edit:");
                    int i;
                    for (i = 0; i < order.Pizzas.Count; i++)
                    {
                        Console.WriteLine($"{i+1}. {order.Pizzas[i].Name}");
                    }

                    Console.WriteLine($"{i+1}. Cancel");

                    int input3 = Convert.ToInt32(Console.ReadLine());

                    if (input3 < i + 1 && input3 > 0)
                    {
                        order.Pizzas[i - 1] = EditPizza(order.Pizzas[i - 1]);
                    }

                    break;

                case "5": //Remove Pizza

                    Console.WriteLine("Choose a pizza to remove:");
                    int j;
                    for (j = 0; j < order.Pizzas.Count; j++)
                    {
                        Console.WriteLine($"{j+1}. {order.Pizzas[j].Name}");
                    }

                    Console.WriteLine($"{j+1}. Cancel");

                    int input4 = Convert.ToInt32(Console.ReadLine());

                    //j = number of pizzas
                    if (input4 - 1 < j && input4 > 0)
                    {
                        order.Pizzas.RemoveAt(input4 - 1);
                        Console.WriteLine($"Pizza #{input4} removed.");
                    }

                    break;

                case "6": //Checkout



                    if (order.Pizzas.Count == 0)
                    {
                        Console.WriteLine("Order was empty, so it was canceled.");
                    }
                    else
                    {
                        order.PlaceOrder();

                        //Add to database
                        PizzaRepository pr = new PizzaRepository();
                        pr.AddOrder(order, sID, uID);


                        user.Orders.Add(order);
                    }
                    running = false;
                    break;

                case "7": //Exit

                    Console.WriteLine("Order Canceled.");
                    running = false;
                    break;

                default:
                    break;
                }
            }
        }
Пример #4
0
        static void Main(string[] args)
        {
            var db = new PizzaStore.Storing.PizzaStoreDBContext();

            Console.WriteLine("Welcome to the PizzaStore Application!");
            bool running = true;

            while (running)
            {
                Console.WriteLine("Please select an option:");
                Console.WriteLine("1. User Login");
                Console.WriteLine("2. Store Login");
                Console.WriteLine("3. Exit");

                string input = Console.ReadLine();

                switch (input)
                {
                case "1":

                    User user = new User();
                    Console.WriteLine("Enter the username: "******"Enter the password: "******"2":
                    /* Store store = new Store();
                     *
                     * //store login
                     * Console.WriteLine("Enter the store username: "******"Enter the password: "******"3":
                    running = false;
                    break;

                default:
                    break;
                }
            }
        }