コード例 #1
0
        private static string GetTextToSearch(SearchCriterion searchCriterion)
        {
            string textToSearch;

            do
            {
                Console.Write($"\nEnter a drink {searchCriterion.ToString().ToLower()} to find: ");
                textToSearch = Console.ReadLine();
            } while (string.IsNullOrWhiteSpace(textToSearch));

            return(textToSearch);
        }
コード例 #2
0
        private void SelectControls(SearchCriterion searchCriterion)
        {
            System.Diagnostics.Debug.WriteLine("Switching: " + searchCriterion.ToString());
            switch (searchCriterion)
            {
            case SearchCriterion.Product:
                tC_main.SelectedTab = tC_main.TabPages["tP_products"];
                lV_searchResult     = lV_products;
                break;

            case SearchCriterion.ProductWithLicense:
                tC_main.SelectedTab = tC_main.TabPages["tP_licenseProduct"];
                lV_searchResult     = lV_licenseProduct;
                break;

            case SearchCriterion.LicenseByProduct:
                tC_main.SelectedTab = tC_main.TabPages["tP_licenseProduct"];
                lV_searchResult     = lV_licenseDetailProduct;
                break;

            case SearchCriterion.UserWithLicense:
                tC_main.SelectedTab = tC_main.TabPages["tP_licenseUser"];
                lV_searchResult     = lV_licenseUser;
                break;

            case SearchCriterion.LicenseByUser:
                tC_main.SelectedTab = tC_main.TabPages["tP_licenseUser"];
                lV_searchResult     = lV_licenseDetailUser;
                break;

            default:
                tC_main.SelectedTab = tC_main.TabPages["tP_products"];
                lV_searchResult     = lV_products;
                break;
            }
        }
コード例 #3
0
ファイル: MainForm.cs プロジェクト: rahulsinghch26/imgburn
        private void SelectControls(SearchCriterion searchCriterion)
        {
            System.Diagnostics.Debug.WriteLine("Switching: " + searchCriterion.ToString());
            switch (searchCriterion)
            {
                case SearchCriterion.Product:
                    tC_main.SelectedTab = tC_main.TabPages["tP_products"];
                    lV_searchResult = lV_products;
                    break;

                case SearchCriterion.ProductWithLicense:
                    tC_main.SelectedTab = tC_main.TabPages["tP_licenseProduct"];
                    lV_searchResult = lV_licenseProduct;
                    break;

                case SearchCriterion.LicenseByProduct:
                    tC_main.SelectedTab = tC_main.TabPages["tP_licenseProduct"];
                    lV_searchResult = lV_licenseDetailProduct;
                    break;

                case SearchCriterion.UserWithLicense:
                    tC_main.SelectedTab = tC_main.TabPages["tP_licenseUser"];
                    lV_searchResult = lV_licenseUser;
                    break;

                case SearchCriterion.LicenseByUser:
                    tC_main.SelectedTab = tC_main.TabPages["tP_licenseUser"];
                    lV_searchResult = lV_licenseDetailUser;
                    break;

                default:
                    tC_main.SelectedTab = tC_main.TabPages["tP_products"];
                    lV_searchResult = lV_products;
                    break;
            }
        }
コード例 #4
0
        public static void StartSearch(List <Drink> drinksList, SearchCriterion searchCriterion)
        {
            bool continueSearch = true;

            do
            {
                Console.Clear();
                Console.WriteLine($"\nSearch drink by {searchCriterion}\n".ToUpper());
                Console.WriteLine("-------------------------------------------------------------------------------------------------------------------");

                List <Drink> drinksFound = null;

                switch (searchCriterion)
                {
                case SearchCriterion.Name:
                    var nameToSearch = GetTextToSearch(searchCriterion);
                    drinksFound = SearchDrink.SearchByName(nameToSearch, drinksList);
                    break;

                case SearchCriterion.Ingredients:
                    Console.WriteLine("\nInstructions: \nYou can provide ONE or MORE ingredients - separated with a space. \nYou can search drinks containing ALL or ANY of provided ingredients.");
                    Console.WriteLine("\nWould you like to display drinks containing: \n1. ALL provided ingredients \n2. ANY of provided ingredients\n(1/2) ");
                    var  searchOption = SearchDrinkOption.All;
                    bool incorrectInputIngredientsChoice;
                    do
                    {
                        var searchOptionChoice = Console.ReadKey();
                        switch (searchOptionChoice.KeyChar)
                        {
                        case '1':
                            searchOption = SearchDrinkOption.All;
                            incorrectInputIngredientsChoice = false;
                            break;

                        case '2':
                            searchOption = SearchDrinkOption.Any;
                            incorrectInputIngredientsChoice = false;
                            break;

                        default:
                            Console.WriteLine("\nPlease enter correct answer.");
                            incorrectInputIngredientsChoice = true;
                            break;
                        }
                    } while (incorrectInputIngredientsChoice);

                    var ingredientsToSearch = GetTextToSearch(searchCriterion);
                    drinksFound = SearchDrink.SearchByIngredients(new SortedSet <string>(ingredientsToSearch.Split(' ')), drinksList, searchOption);
                    break;
                }

                if (drinksFound != null && drinksFound.Count == 0)
                {
                    Console.WriteLine("\nNo drinks found in the database matching your criteria.");
                }
                else
                {
                    PagingHandler.DivideDrinkListIntoPages(drinksFound);
                }

                var incorrectInputEndSearch = true;
                do
                {
                    Console.Write($"\nContinue search by {searchCriterion.ToString().ToLower()} (yes: [y/enter] / no: [n/esc])? ");
                    var continueUserInput = Console.ReadKey();
                    if (continueUserInput.KeyChar == 'y' || continueUserInput.KeyChar == 'Y' || continueUserInput.Key == ConsoleKey.Enter)
                    {
                        incorrectInputEndSearch = false;
                    }
                    else if (continueUserInput.KeyChar == 'n' || continueUserInput.KeyChar == 'N' || continueUserInput.Key == ConsoleKey.Escape)
                    {
                        incorrectInputEndSearch = false;
                        continueSearch          = false;
                    }
                } while (incorrectInputEndSearch);
            } while (continueSearch);
        }