Beispiel #1
0
        static void Main(string[] args)
        {
            Console.BufferHeight = Int16.MaxValue - 1;  // resets the console bufferhieght to allow the entire file
                                                        // to be read into a single console window
            Console.SetWindowSize(200, 30);             // resizes the window to fit the special output formatting

            //Create an instance of the UserInterface class
            UserInterface userInterface = new UserInterface();

            //Create an instance of the WineItemCollection class
            BeverageCollection beverageCollection = new BeverageCollection();

            //Display the Welcome Message to the user
            userInterface.DisplayWelcomeGreeting();

            //Display the Menu and get the response. Store the response in the choice integer
            //This is the 'primer' run of displaying and getting.
            int choice = userInterface.DisplayMenuAndGetResponse();

            while (choice != 6)
            {
                switch (choice)
                {
                case 1:
                    //Print Entire List Of Items
                    //Display all of the items
                    try
                    {
                        userInterface.DisplayAllItems(beverageCollection.GetPrintStringsForAllItems());
                        userInterface.DisplayImportSuccess();
                    }
                    catch
                    {
                        userInterface.DisplayImportError();
                    }

                    break;

                case 2:
                    //Search For An Item
                    string searchQuery        = userInterface.GetSearchQuery();
                    string addItemInformation = beverageCollection.FindById(searchQuery);
                    if (addItemInformation != null)
                    {
                        userInterface.DisplayItemFound(addItemInformation);
                    }
                    break;

                case 3:
                    //Add A New Item To The List
                    string[] newItemInformation   = userInterface.GetNewItemInformation();
                    decimal  newPriceInformation  = userInterface.GetNewPriceInformation();
                    bool     newActiveInformation = userInterface.GetNewActiveInformation();

                    /**
                     * if (beverageCollection.FindById(newItemInformation[0]) == null)
                     * {
                     *  //beverageCollection.AddNewItem(newItemInformation[0], newItemInformation[1], newItemInformation[2], newPriceInformation, newActiveInformation);
                     *  beverageCollection.AddToDatabase(newItemInformation[0], newItemInformation[1], newItemInformation[2], newPriceInformation, newActiveInformation);
                     *  userInterface.DisplayAddWineItemSuccess();
                     * }
                     * else
                     * {
                     *  userInterface.DisplayItemAlreadyExistsError();
                     * }
                     **/

                    try
                    {
                        beverageCollection.AddToDatabase(newItemInformation[0], newItemInformation[1], newItemInformation[2], newPriceInformation, newActiveInformation);
                        userInterface.DisplayAddWineItemSuccess();
                    }
                    catch
                    {
                        userInterface.DisplayItemAlreadyExistsError();
                    }
                    break;

                case 4:
                    // remove an item
                    string IDToRemove            = userInterface.RemoveByID();
                    string removeItemInformation = beverageCollection.FindById(IDToRemove);

                    // try catch, fails if the beverage is null

                    try
                    {
                        beverageCollection.RemoveByID(IDToRemove);
                    }
                    catch (Exception e)
                    {
                        userInterface.DisplayItemFoundError();
                    }
                    break;

                case 5:
                    //update an Item on The List
                    string[] updateBeverageInformation = userInterface.GetUpdateItemInformation();
                    decimal  updatePriceInformation    = userInterface.GetNewPriceInformation();
                    bool     updateActiveInformation   = userInterface.GetNewActiveInformation();

                    try
                    {
                        beverageCollection.updateBeverage(updateBeverageInformation[0], updateBeverageInformation[1], updateBeverageInformation[2], updatePriceInformation, updateActiveInformation);
                    }
                    catch
                    {
                        userInterface.DisplayItemFoundError();
                    }

                    //if (beverageCollection.FindById(updateBeverageInformation[0]) != null)
                    //{
                    //    beverageCollection.updateBeverage(updateBeverageInformation[0], updateBeverageInformation[1], updateBeverageInformation[2], updatePriceInformation, updateActiveInformation);
                    //    //beverageCollection.updateBeverage("12345", "1", "1", 1, true);

                    //    userInterface.DisplayAddWineItemSuccess();
                    //}
                    //else
                    //{
                    //    userInterface.DisplayItemFoundError();
                    //}
                    break;
                }

                //Get the new choice of what to do from the user
                choice = userInterface.DisplayMenuAndGetResponse();
            }
        }