예제 #1
0
        /// <summary>
        /// asks the user for a license number and the new vehicle state he wants to change
        /// </summary>
        private void changeVehicleState()
        {
            string        licenseNum = getExistingLicenseNumberFromUser();
            eVehicleState state      = (eVehicleState)getNewStateFromUser();

            m_Garage.ChangeVehicleState(licenseNum, state);
            Console.WriteLine("The change has been done");
        }
예제 #2
0
        private void changeVehicleState(string i_LicenseNumber)
        {
            bool successfulChange = false;

            do
            {
                try
                {
                    while (!r_CurrentGarage.AllVehicles.ContainsKey(i_LicenseNumber))
                    {
                        Console.WriteLine(@"This vehicle is not in the garage, please enter a valid License Number:
Please chose license number form list");
                        showVehiclesCurrentlyInTheGarage();
                        i_LicenseNumber = getLicenseNumber();
                    }

                    string vehicleStates = string.Format(
                        @"Please select state
In repair press 1
Repaired  press 2
Paid      press 3");

                    Console.WriteLine(vehicleStates);

                    string vehicleStateString = Console.ReadLine();
                    int.TryParse(vehicleStateString, out int vehicleState);

                    while (vehicleStateString == null || !Enum.IsDefined(typeof(Vehicle.eVehicleStatus), vehicleState))
                    {
                        Console.WriteLine(@"Please enter a valid state");
                        vehicleStateString = Console.ReadLine();
                        int.TryParse(vehicleStateString, out vehicleState);
                    }

                    Vehicle.eVehicleStatus vehicleStatus = (Vehicle.eVehicleStatus)Enum.Parse(
                        typeof(Vehicle.eVehicleStatus),
                        vehicleStateString);
                    r_CurrentGarage.ChangeVehicleState(i_LicenseNumber, vehicleStatus);
                    successfulChange = true;
                }
                catch (Exception exception)
                {
                    Console.WriteLine(exception.Message);
                }
            }while(!successfulChange);
        }