コード例 #1
0
ファイル: ApplicationManager.cs プロジェクト: avithalker/rep
        private void showLicenceNumbersOp()
        {
            string           input;
            eVehicleStatuses choice;
            bool             parseSucceeded;

            Console.Clear();
            do
            {
                try
                {
                    parseSucceeded = true;
                    Console.WriteLine("Please choose which license numbers you would like to see according to the following filters:");
                    MenusPrinter.PrintStatusFilterMenu();
                    input  = Console.ReadLine();
                    choice = CustomConverter.ConvertStringToVehicleStatusFiltering(input);
                    printLicenseNumbersByVehiclesState(choice);
                }
                catch (FormatException e)
                {
                    parseSucceeded = false;
                    Console.WriteLine(e.Message);
                }
                catch (ArgumentException e)
                {
                    parseSucceeded = false;
                    Console.WriteLine(e.Message);
                }
            }while (!parseSucceeded);
        }
コード例 #2
0
ファイル: ApplicationManager.cs プロジェクト: avithalker/rep
        private void changeVehicleStateOp()
        {
            string           requestedLicenseNumber;
            string           input;
            eVehicleStatuses status;

            getValidLicenseNumber(out requestedLicenseNumber);
            Console.Clear();
            try
            {
                Console.WriteLine("Please choose the status you would like to set:");
                MenusPrinter.PrintVehicleStatuses();
                input  = Console.ReadLine();
                status = CustomConverter.ConvertStringToVehicleStatus(input);
                m_GarageManager.ChangeVehicleStatus(requestedLicenseNumber, status);
                Console.WriteLine("Successfuly changed status for vehicle with license number:{0}", requestedLicenseNumber);
            }
            catch (FormatException e)
            {
                Console.WriteLine(string.Format("Error has occured!{0}{1}", Environment.NewLine, e.Message));
            }
            catch (ArgumentException e)
            {
                Console.WriteLine(string.Format("Error has occured!{0}{1}", Environment.NewLine, e.Message));
            }
            catch (ValueOutOfRangeException e)
            {
                Console.WriteLine(string.Format("Error has occured!{0}{1}", Environment.NewLine, e.Message));
            }
        }
コード例 #3
0
ファイル: ApplicationManager.cs プロジェクト: avithalker/rep
        private void getWheelsCurrentPressure(Vehicle i_Vehicle)
        {
            string input;
            bool   parseSucceeded  = false;
            float  currentPressure = 0;

            Console.Clear();
            do
            {
                try
                {
                    Console.WriteLine("Please enter your current wheels' air pressure: ");
                    input           = Console.ReadLine();
                    currentPressure = CustomConverter.ConvertStringToPositiveFloat(input);
                    i_Vehicle.SetCurrentWheelsAir(currentPressure);
                    parseSucceeded = true;
                }
                catch (FormatException e)
                {
                    Console.WriteLine(e.Message);
                }
                catch (ValueOutOfRangeException e)
                {
                    Console.WriteLine(e.Message);
                }
                catch (ArgumentException e)
                {
                    Console.WriteLine(e.Message);
                }
            }while (!parseSucceeded);
        }
コード例 #4
0
ファイル: ApplicationManager.cs プロジェクト: avithalker/rep
        private void getCurrentEnergyState(Vehicle i_Vehicle)
        {
            string input;
            bool   parseSucceeded = true;
            float  currentState   = 0;

            Console.Clear();
            do
            {
                try
                {
                    Console.WriteLine("Please enter your current energy amount: ");
                    input        = Console.ReadLine();
                    currentState = CustomConverter.ConvertStringToPositiveFloat(input);
                    i_Vehicle.SetCurrentEnergyAmount(currentState);
                    parseSucceeded = true;
                }
                catch (FormatException e)
                {
                    parseSucceeded = false;
                    Console.WriteLine(e.Message);
                }
                catch (ValueOutOfRangeException e)
                {
                    parseSucceeded = false;
                    Console.WriteLine(e.Message);
                }
                catch (ArgumentException e)
                {
                    parseSucceeded = false;
                    Console.WriteLine(e.Message);
                }
            }while (!parseSucceeded);
        }
コード例 #5
0
ファイル: ApplicationManager.cs プロジェクト: avithalker/rep
        private float getTrunkVolume()
        {
            bool  isInputValid = false;
            float trunkVolume  = 0;

            Console.Clear();
            do
            {
                try
                {
                    Console.WriteLine("Please enter your trunk volume:");
                    trunkVolume  = CustomConverter.ConvertStringToPositiveFloat(Console.ReadLine());
                    isInputValid = true;
                }
                catch (FormatException e)
                {
                    isInputValid = false;
                    Console.WriteLine(e.Message);
                }
                catch (ValueOutOfRangeException e)
                {
                    Console.WriteLine(e.Message);
                    isInputValid = false;
                }
            }while (!isInputValid);

            return(trunkVolume);
        }
コード例 #6
0
ファイル: ApplicationManager.cs プロジェクト: avithalker/rep
        private void getValidEngineVolume(out int o_EngineVolume)
        {
            bool   parseSucceeded = false;
            string input;

            o_EngineVolume = 0;
            Console.Clear();
            do
            {
                Console.WriteLine("Please enter your engine volume");
                input = Console.ReadLine();
                try
                {
                    o_EngineVolume = CustomConverter.ConvertStringToPositiveInt(input);
                    parseSucceeded = true;
                }
                catch (FormatException e)
                {
                    Console.WriteLine(e.Message);
                    parseSucceeded = false;
                }
                catch (ValueOutOfRangeException e)
                {
                    Console.WriteLine(e.Message);
                    parseSucceeded = false;
                }
            }while (!parseSucceeded);
        }
コード例 #7
0
ファイル: ApplicationManager.cs プロジェクト: avithalker/rep
        private void getLicenseType(out eLicenseTypes o_LicenseType)
        {
            string input;
            bool   parseSucceeded = false;

            o_LicenseType = eLicenseTypes.None;

            Console.Clear();
            do
            {
                try
                {
                    Console.WriteLine("Please insert your license type by typing one of the following options:");
                    MenusPrinter.PrintLicenseTypesMenu();
                    input          = Console.ReadLine();
                    o_LicenseType  = CustomConverter.ConvertStringToLicenseType(input);
                    parseSucceeded = true;
                }
                catch (FormatException e)
                {
                    Console.WriteLine(e.Message);
                    parseSucceeded = false;
                }
                catch (ArgumentException e)
                {
                    Console.WriteLine(e.Message);
                    parseSucceeded = false;
                }
            }while (!parseSucceeded);
        }
コード例 #8
0
ファイル: ApplicationManager.cs プロジェクト: avithalker/rep
        private eMainMenuOptions getUserChoice()
        {
            string           input;
            bool             parseSucceeded   = false;
            eMainMenuOptions choiceValueInput = eMainMenuOptions.InvalidChoice;

            do
            {
                input = Console.ReadLine();

                try
                {
                    choiceValueInput = CustomConverter.ConvertInputToChoice(input);
                    parseSucceeded   = true;
                }
                catch (FormatException e)
                {
                    parseSucceeded = false;
                    Console.WriteLine(string.Format("{0} please try again", e.Message));
                }
                catch (ArgumentException e)
                {
                    parseSucceeded = false;
                    Console.WriteLine(string.Format("{0} please try again", e.Message));
                }
            }while (!parseSucceeded);

            return(choiceValueInput);
        }
コード例 #9
0
ファイル: ApplicationManager.cs プロジェクト: avithalker/rep
        private void getValidNumberOfDoors(out int o_NumberOfDoors)
        {
            bool   parseSuceeded = false;
            string input;

            o_NumberOfDoors = 0;

            Console.Clear();
            do
            {
                Console.WriteLine("Please insert the number of doors from the following options: 2, 3, 4, 5");

                input = Console.ReadLine();
                try
                {
                    CustomConverter.ConvertToValidNumberOfDoors(input, out o_NumberOfDoors);
                    parseSuceeded = true;
                }
                catch (FormatException e)
                {
                    Console.WriteLine(e.Message);
                }
                catch (ArgumentException e)
                {
                    Console.WriteLine(e.Message);
                }
            }while (!parseSuceeded);
        }
コード例 #10
0
ファイル: ApplicationManager.cs プロジェクト: avithalker/rep
        private Vehicle getDataForCreateNewVehicle(string i_LicenseNumber)
        {
            eVehicleTypeOptions vehicleTypeChoice;
            bool    parseSucceeded = false;
            Vehicle vehicle        = null;
            string  input;

            Console.Clear();
            do
            {
                try
                {
                    MenusPrinter.PrintVehicleTypeOptions();
                    input             = Console.ReadLine();
                    vehicleTypeChoice = CustomConverter.ConvertInputToVehicleTypeOption(input);
                    vehicle           = getDataByVehicleTypeChoice(vehicleTypeChoice, i_LicenseNumber);
                    parseSucceeded    = true;
                }
                catch (FormatException e)
                {
                    Console.WriteLine(e.Message);
                    parseSucceeded = false;
                }
                catch (ArgumentException e)
                {
                    Console.WriteLine(e.Message);
                    parseSucceeded = false;
                }
            }while (!parseSucceeded);

            return(vehicle);
        }
コード例 #11
0
ファイル: ApplicationManager.cs プロジェクト: avithalker/rep
        private void getValidPhoneNumberFromUser(out string o_PhoneNumber)
        {
            bool   parseSucceeded = false;
            string input          = string.Empty;

            Console.Clear();
            do
            {
                try
                {
                    Console.WriteLine("Please insert the owner's phone number: ");
                    input = Console.ReadLine();
                    CustomConverter.ConvertStringToPositiveInt(input);
                    parseSucceeded = true;
                }
                catch (FormatException e)
                {
                    Console.WriteLine(e.Message);
                    parseSucceeded = false;
                }
                catch (ValueOutOfRangeException e)
                {
                    Console.WriteLine(e.Message);
                    parseSucceeded = false;
                }
            }while (!parseSucceeded);

            o_PhoneNumber = input;
        }
コード例 #12
0
ファイル: ApplicationManager.cs プロジェクト: avithalker/rep
        private void getIsTruckCold(out bool o_IsTruckCold)
        {
            string input;
            bool   parseSucceeded = false;

            o_IsTruckCold = false;

            Console.Clear();
            do
            {
                try
                {
                    Console.WriteLine("Is Your Truck cold? type Y/N :");
                    input          = Console.ReadLine();
                    o_IsTruckCold  = CustomConverter.ConvertStringToIsColdBool(input);
                    parseSucceeded = true;
                }
                catch (ArgumentException e)
                {
                    parseSucceeded = false;
                    Console.WriteLine(e.Message);
                }
            }while (!parseSucceeded);
        }
コード例 #13
0
ファイル: ApplicationManager.cs プロジェクト: avithalker/rep
        private void getValidColor(out eVehicleColors o_Color)
        {
            bool   parseSucceeded = false;
            string input;

            o_Color = eVehicleColors.None;

            Console.Clear();
            do
            {
                try
                {
                    Console.WriteLine("Please insert your car color from the following options:");
                    MenusPrinter.PrintColorsMenu();
                    input          = Console.ReadLine();
                    o_Color        = CustomConverter.ConvertStringColorToVehicleColor(input);
                    parseSucceeded = true;
                }
                catch (ArgumentException e)
                {
                    Console.WriteLine(e.Message);
                }
            }while (!parseSucceeded);
        }