Ejemplo n.º 1
0
        private SearchParameterMenu GetSearchParameterOption()
        {
            SearchParameterMenu menuOption = SearchParameterMenu.Invalid;
            int option = (int)Char.GetNumericValue(Console.ReadKey(true).KeyChar);

            if (option != -1)
            {
                if (Enum.IsDefined(typeof(SearchParameterMenu), option))
                {
                    menuOption = (SearchParameterMenu)option;
                }
            }
            return(menuOption);
        }
Ejemplo n.º 2
0
        private void SearchParameterPage()
        {
            Clear();
            DisplaySearchParameterMenu();

            bool done = false;

            while (!done)
            {
                TextBox             txtParameterValue = null;
                ConsoleKey          exitKey           = ConsoleKey.A;
                SearchParameterMenu option            = GetSearchParameterOption();
                if (option != SearchParameterMenu.Back && option != SearchParameterMenu.Invalid)
                {
                    Clear();

                    if (option == SearchParameterMenu.Type)
                    {
                        DisplayTypeParameterPrompt();

                        ConsoleKeyInfo keyInfo       = Console.ReadKey(true);
                        ConsoleKey     key           = keyInfo.Key;
                        int            numericOption = (int)Char.GetNumericValue(keyInfo.KeyChar);

                        switch ((EmployeeType)numericOption)
                        {
                        case EmployeeType.ANY:
                            typeParam = Database.kAnyTag;
                            break;

                        case EmployeeType.FullTime:
                            typeParam = Database.kFullTimeEmp;
                            break;

                        case EmployeeType.PartTime:
                            typeParam = Database.kPartTimeEmp;
                            break;

                        case EmployeeType.Contract:
                            typeParam = Database.kContractEmp;
                            break;

                        case EmployeeType.Seasonal:
                            typeParam = Database.kSeasonalEmp;
                            break;
                        }
                    }
                    else
                    {
                        DisplayParameterPrompt();
                        txtParameterValue = new TextBox(width / 2 - 15, 6, 30);
                        exitKey           = ConsoleKey.A;
                        switch (option)
                        {
                        case SearchParameterMenu.Type:
                            txtParameterValue.Text = (typeParam == "<ANY>") ? "" : typeParam;
                            break;

                        case SearchParameterMenu.First:
                            txtParameterValue.Text = (firstNameParam == "<ANY>") ? "" : firstNameParam;
                            break;

                        case SearchParameterMenu.Last:
                            txtParameterValue.Text = (lastNameParam == "<ANY>") ? "" : lastNameParam;
                            break;

                        case SearchParameterMenu.SIN:
                            txtParameterValue.Text = (sinParam == "<ANY>") ? "" : sinParam;
                            break;

                        case SearchParameterMenu.DateOfBirth:
                            txtParameterValue.Text = (dateOfBirthParam == "<ANY>") ? "" : dateOfBirthParam;
                            break;
                        }

                        while (exitKey != ConsoleKey.Enter && exitKey != ConsoleKey.Escape)
                        {
                            exitKey = txtParameterValue.Focus();
                        }
                    }
                }
                switch (option)
                {
                case SearchParameterMenu.Type:
                    if (exitKey == ConsoleKey.Enter)
                    {
                        typeParam = (txtParameterValue.Text == "") ? Database.kAnyTag : txtParameterValue.Text;
                    }
                    break;

                case SearchParameterMenu.First:
                    if (exitKey == ConsoleKey.Enter)
                    {
                        firstNameParam = (txtParameterValue.Text == "") ? Database.kAnyTag : txtParameterValue.Text;
                    }
                    break;

                case SearchParameterMenu.Last:
                    if (exitKey == ConsoleKey.Enter)
                    {
                        lastNameParam = (txtParameterValue.Text == "") ? Database.kAnyTag : txtParameterValue.Text;
                    }
                    break;

                case SearchParameterMenu.SIN:
                    if (exitKey == ConsoleKey.Enter)
                    {
                        sinParam = (txtParameterValue.Text == "") ? Database.kAnyTag : txtParameterValue.Text;
                    }
                    break;

                case SearchParameterMenu.DateOfBirth:
                    if (exitKey == ConsoleKey.Enter)
                    {
                        dateOfBirthParam = (txtParameterValue.Text == "") ? Database.kAnyTag : txtParameterValue.Text;
                    }
                    break;

                case SearchParameterMenu.Back:
                    done = true;
                    SearchPage();
                    break;
                }
                if (option != SearchParameterMenu.Back && option != SearchParameterMenu.Invalid)
                {
                    Clear();
                    DisplaySearchParameterMenu();
                }
            }
        }