private eMenuOptions getOptionInput()
        {
            eMenuOptions chosenOption = 0;

            while (!Enum.IsDefined(typeof(eMenuOptions), chosenOption))
            {
                try
                {
                    Console.WriteLine(buildMenu());
                    chosenOption = (eMenuOptions)Enum.Parse(typeof(eMenuOptions), Console.ReadLine());
                    if (!Enum.IsDefined(typeof(eMenuOptions), chosenOption))
                    {
                        throw new IndexOutOfRangeException("ERROR: Input is not in range of valid options, try again");
                    }
                }
                catch (ArgumentException)
                {
                    Console.WriteLine("ERROR: Invalid option input, try again");
                }
                catch (IndexOutOfRangeException rangeErrorException)
                {
                    Console.WriteLine(rangeErrorException.Message);
                }
            }

            return(chosenOption);
        }
 public GarageUI()
 {
     try
     {
         Garage garage = new Garage();
         Console.WriteLine("Welcome to Tom and Matan's garage!" + Environment.NewLine);
         eMenuOptions userChoice = mainMenu();
         while (eMenuOptions.Exit != userChoice)
         {
             garageOperations(userChoice, garage);
             userChoice = mainMenu();
         }
     }
     catch (FormatException fe)
     {
         Console.WriteLine(fe.Message);
     }
     catch (ValueOutOfRangeException fe)
     {
         Console.WriteLine(fe.Message);
     }
     catch (ArgumentException ax)
     {
         Console.WriteLine(ax.Message);
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
     }
 }
Exemple #3
0
        private void runGarageFunction(eMenuOptions i_ChosenOption)
        {
            switch (i_ChosenOption)
            {
            case eMenuOptions.InsertVehicleToGarage:
            {
                insertVehicleToGarage();
                break;
            }

            case eMenuOptions.ShowLicenseNumbersByFilter:
            {
                showLicenseNumbersByFilter();
                break;
            }

            case eMenuOptions.ChangeVehicleStatus:
            {
                changeVehicleStatus();
                break;
            }

            case eMenuOptions.FillMaxAirToVehicleWheels:
            {
                fillMaxAirToVehicleWheels();
                break;
            }

            case eMenuOptions.FillGasVehicleFuel:
            {
                fillGasVehicleFuel();
                break;
            }

            case eMenuOptions.ChargeElectricVehicleBattery:
            {
                chargeElectricVehicleBattery();
                break;
            }

            case eMenuOptions.ShowAllVehicleDetails:
            {
                showAllVehicleDetails();
                break;
            }

            case eMenuOptions.ExitProgram:
            {
                Console.WriteLine("Goodbye!");
                Environment.Exit(-1);
                break;
            }

            default:
            {
                throw new ArgumentException("Invalid option.");
            }
            }
        }
Exemple #4
0
        public eMenuOptions    GetMenuSelection()
        {
            Console.Clear();
            Console.WriteLine("Welcome to Joniv's garage!");
            eMenuOptions menuOption = (eMenuOptions)enumParse <eMenuOptions>();

            return(menuOption);
        }
Exemple #5
0
        public bool getUserOrder()
        {
            eMenuOptions userChoice      = getUserMenuChoice();
            bool         userWantsToQuit = false;

            switch (userChoice)
            {
            case eMenuOptions.AddCustomer:
                Console.Clear();
                addCustomerToGarage();
                break;

            case eMenuOptions.BlowWheelsToMaximum:
                Console.Clear();
                blowWheelsToMaximum();
                break;

            case eMenuOptions.ChangeCustomerStatus:
                Console.Clear();
                changeCustomerStatus();
                break;

            case eMenuOptions.getLicenses:
                Console.Clear();
                getLicenses();
                break;

            case eMenuOptions.GetDetailsOfCustomer:
                Console.Clear();
                getDetailsOfCustomer();
                break;

            case eMenuOptions.RechargeElectricEngine:
                Console.Clear();
                refuelEngine(eEngineTypes.Electrical);
                break;

            case eMenuOptions.RefuelGasEngine:
                Console.Clear();
                refuelEngine(eEngineTypes.Gas);
                break;

            case eMenuOptions.Exit:
                userWantsToQuit = true;
                break;
            }

            return(userWantsToQuit);
        }
Exemple #6
0
        public bool                    MenuOperations(eMenuOptions i_UserSelectedAction)
        {
            bool exitGarage = false;

            switch (i_UserSelectedAction)
            {
            case eMenuOptions.NewVehical:
                addVehicalToTheGarage();
                break;

            case eMenuOptions.DisplayListOfVehicals:
                displayListOfVehicals();
                break;

            case eMenuOptions.ChangeStatus:
                changeVehicalStatus();
                break;

            case eMenuOptions.InflateWheels:
                inflateWheels();
                break;

            case eMenuOptions.RefuelVehical:
                refuelVehical();
                break;

            case eMenuOptions.RechargeVehical:
                rechargeVehical();
                break;

            case eMenuOptions.DisplayVehicalDetails:
                printVehicalInformation();
                break;

            case eMenuOptions.Exit:
                exitGarage = true;
                Console.Clear();
                Console.WriteLine("Thank you for coming to Jonivs garage!");
                Console.WriteLine("Press 'Enter' to exit the program!");
                Console.ReadLine();
                break;
            }

            return(exitGarage);
        }
Exemple #7
0
        private void manageUserChoice(eMenuOptions i_MenuOptions)
        {
            switch (i_MenuOptions)
            {
            case eMenuOptions.AddVechile:
                manageNewVehicleAddition();
                Screen.Clear();
                break;

            case eMenuOptions.ViewFilteredVehicleList:
                manageFilteredVehicleList();
                break;

            case eMenuOptions.ChangeVehicleStatus:
                manageVehicleStatusChange();
                Screen.Clear();
                break;

            case eMenuOptions.InflateVehicleWheels:
                manageWheelsInflation();
                Screen.Clear();
                break;

            case eMenuOptions.ReFuelVehicle:
                manageReFuel();
                Screen.Clear();
                break;

            case eMenuOptions.ReChargeVehicle:
                manageReCharge();
                Screen.Clear();
                break;

            case eMenuOptions.ViewVehicleInfo:
                manageVehicleInfo();
                break;

            case eMenuOptions.Exit:
                exitMenu();
                break;

            default:
                break;
            }
        }
        private void doUserChoice(eMenuOptions i_MenuOption)
        {
            switch (i_MenuOption)
            {
            case eMenuOptions.AddVehicle:
                addNewVehicleToGarage();
                break;

            case eMenuOptions.DisplayLicenses:
                displayFilteredLicensePlates();
                break;

            case eMenuOptions.ChangeVehicleState:
                changeStatusOfVehicle();
                break;

            case eMenuOptions.AddAirToTires:
                inflateWheels();
                break;

            case eMenuOptions.FuelVehicle:
                fuelAVehicle();
                break;

            case eMenuOptions.CharageVehicle:
                chargeAVehicle();
                break;

            case eMenuOptions.ShowVehicleInfo:
                displayVehicleInfo();
                break;

            case eMenuOptions.Exit:
                m_ConsoleOn = false;
                break;

            default:
                // For handling invalid input
                throw new ArgumentException();
            }

            Console.WriteLine("Your operation was successful, Please press enter to continue.");
            Console.ReadLine();
        }
        ////Invoke method according to the user selection
        private void garageOperations(eMenuOptions i_userChoise, Garage i_garage)
        {
            switch (i_userChoise)
            {
            case eMenuOptions.AddVehicle:
                handleAddVehicle(i_garage);
                break;

            case eMenuOptions.ShowLicenses:
                handleShowLicenses(i_garage);
                break;

            case eMenuOptions.ChangeVehicleStatus:
                handleChangeStatus(i_garage);
                break;

            case eMenuOptions.FillAirPressureToMax:
                handleFillAirPressureToMax(i_garage);
                break;

            case eMenuOptions.AddFuelVehicle:
                handleAddFuel(i_garage);
                break;

            case eMenuOptions.ChargeBatteryVehicle:
                handleChargeBattery(i_garage);
                break;

            case eMenuOptions.ShowVehicleByLicense:
                handleShowVehicle(i_garage);
                break;

            case eMenuOptions.Exit:
                break;

            default:
                break;
            }
        }
        public void GarageManager()
        {
            bool managerIsActive = true;
            GarageLogicManager garageInstance = GarageLogicManager.Garage;

            while (managerIsActive)
            {
                eMenuOptions chosenCase = getOptionInput();

                switch (chosenCase)
                {
                case eMenuOptions.EnterNewVehicle:
                {
                    enterNewVehicle(garageInstance);
                    break;
                }

                case eMenuOptions.DisplayAllVehiclesByAttribute:
                {
                    DisplayAllVehiclesInCurrentStatus(garageInstance);
                    break;
                }

                case eMenuOptions.ChangeCarStatus:
                {
                    changeACarsStatus(garageInstance);
                    break;
                }

                case eMenuOptions.InflateWheelsToMaximum:
                {
                    inflateCarsWheelsToMaximum(garageInstance);
                    break;
                }

                case eMenuOptions.FillPetrolToVehicle:
                {
                    fillPetrolToAVehicle(garageInstance);
                    break;
                }

                case eMenuOptions.ChargeElectricVehicle:
                {
                    chargeACarWithElectricity(garageInstance);
                    break;
                }

                case eMenuOptions.DisplayAllInfoOfVehicle:
                {
                    displayAllInformationOfSpecifiedVehicle(garageInstance);
                    break;
                }

                case eMenuOptions.ExitProgram:
                {
                    managerIsActive = false;
                    break;
                }

                default:
                {
                    Console.WriteLine("Invalid menu option");
                    break;
                }
                }
            }
        }
        public void StartProgram()
        {
            while (!m_WantToExist)
            {
                PrintLogo();
                printMenu();
                int          userChoice  = getAndCheckUserChoice(1, 8);
                string       choice      = Enum.GetName(typeof(eMenuOptions), userChoice);
                eMenuOptions menuOptions = (eMenuOptions)Enum.Parse(typeof(eMenuOptions), choice);

                switch (menuOptions)
                {
                case eMenuOptions.AddVehicle:
                {
                    addOptionNewVehicle();
                    break;
                }

                case eMenuOptions.DisplayLicenses:
                {
                    getList();
                    break;
                }

                case eMenuOptions.changeVehicleStatus:
                {
                    changeVehicleStatus();
                    break;
                }

                case eMenuOptions.InflatingWheelToMax:
                {
                    fillToMaxWheel();
                    break;
                }

                case eMenuOptions.FuelVehicle:
                {
                    vehicleFuel();
                    break;
                }

                case eMenuOptions.CharageVehicle:
                {
                    chargeVehicel();
                    break;
                }

                case eMenuOptions.ShowVehicleDetails:
                {
                    printVehicleDetails();
                    break;
                }

                case eMenuOptions.Exit:
                {
                    wantToExit();
                    return;
                }

                default:
                    throw new ArgumentException();
                }

                Console.WriteLine("Please press any key to show Menu...");
                Console.ReadLine();
            }
        }