예제 #1
0
        public void TestIsInMenu()
        {
            MenuItem testItem = new MenuItem();

            Assert.IsTrue(_repo.IsInMenu(_item1));
            Assert.IsFalse(_repo.IsInMenu(testItem));
        }
예제 #2
0
        public void AddNewItem()
        {
            Console.Clear();
            bool keepRunning = true;

            while (keepRunning)
            {
                bool isValid = false;
                while (!isValid)
                {
                    Console.WriteLine("Please enter name of menu item: ");
                    string itemName = Console.ReadLine().ToLower();
                    if (_menuRepo.IsInMenu(itemName))
                    {
                        Console.WriteLine("This name already exists in the menu.");
                    }
                    else
                    {
                        isValid = true;
                        bool isValidMenuNum = false;
                        while (!isValidMenuNum)
                        {
                            Console.WriteLine("Please enter item number");
                            int  itemNum;
                            bool isInt = GetNumberInput(out itemNum);
                            if (isInt)
                            {
                                bool isAlreadyAssigned = _menuRepo.IsInMenu(itemNum);
                                if (isAlreadyAssigned)
                                {
                                    Console.WriteLine("Number already Assigned. Please choose a different number");
                                }
                                else
                                {
                                    isValidMenuNum = true;
                                    decimal price;
                                    bool    isValidMenuPrice = false;
                                    while (!isValidMenuPrice)
                                    {
                                        Console.WriteLine("Please enter a price.");
                                        bool isDec = GetNumberInput(out price);
                                        if (isDec)
                                        {
                                            isValidMenuPrice = true;
                                            char[] separator = { ',' };
                                            Console.WriteLine("Please enter a description for the menu item");
                                            string description = Console.ReadLine();
                                            Console.WriteLine("Please enter ingredients seperated by commas");
                                            string        ingredients      = Console.ReadLine().ToLower().Trim();
                                            string[]      ingredientsArray = ingredients.Split(separator);
                                            List <string> ingredientsList  = new List <string>(ingredientsArray);
                                            MenuItem      newItem          = new MenuItem(itemNum, itemName, description, ingredientsList, price);
                                            _menuRepo.AddMenuItem(newItem);
                                            keepRunning = false;
                                        }
                                        else
                                        {
                                            keepRunning = false;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }