private void handleBuild(VehicleBuildType vehicleBuildType)
        {
            switch (vehicleBuildType)
            {
            case VehicleBuildType.VehicleModel:
                m_VehicleBuilder.Model = ConsoleUtils.ParseModel();
                break;

            case VehicleBuildType.VehicleID:
                m_VehicleBuilder.ID = ConsoleUtils.ParseVehicleID();
                break;

            case VehicleBuildType.VehicleEngine:
                m_VehicleBuilder.InitalizeEngine(ConsoleUtils.ReadEnergyAmount());
                break;

            case VehicleBuildType.VehicleWheels:
                m_VehicleBuilder.Wheels = ConsoleUtils.ParseWheels(m_VehicleBuilder.MaxWheelPressure, m_VehicleBuilder.ValidWheelsCount);
                break;

            case VehicleBuildType.VehicleColor:
                m_VehicleBuilder.AddComponent(ConsoleUtils.ParseColor());
                break;

            case VehicleBuildType.VehicleDoors:
                m_VehicleBuilder.AddComponent(ConsoleUtils.ParseDoorsType());
                break;

            case VehicleBuildType.VehicleLicence:
                m_VehicleBuilder.AddComponent(ConsoleUtils.ParseLicenceType());
                break;

            case VehicleBuildType.VehicleHazardous:
                m_VehicleBuilder.AddComponent(ConsoleUtils.ParseHazardousType());
                break;

            case VehicleBuildType.VehicleEngineCapacity:
                m_VehicleBuilder.AddComponent(ConsoleUtils.ParseCapacity());
                break;

            case VehicleBuildType.VehicleWeight:
                m_VehicleBuilder.AddComponent(ConsoleUtils.ParseWeight());
                break;

            default:
                throw new ArgumentException("Unknown vehicle type");
            }
        }
        private void doAddVehicle()
        {
            Contact      contact = ConsoleUtils.ParseContact();
            eVehicleType type    = ConsoleUtils.ParseVehicleType();

            initVehicleBuilder(type);

            while (true)
            {
                try
                {
                    Console.Clear();
                    Console.WriteLine(m_VehicleBuilder.ToString());
                    VehicleBuildType vehicleBuildType = ConsoleUtils.ParseVehicleBuildType();
                    if (vehicleBuildType == VehicleBuildType.Done)
                    {
                        Vehicle vehicleInBuildProcess = m_VehicleBuilder.Build();
                        r_GarageContainer.AddVehicle(contact, vehicleInBuildProcess);
                        Console.WriteLine("Vehicle added.");
                        waitForKeyPress();
                        break;
                    }

                    handleBuild(vehicleBuildType);
                }
                catch (ArgumentException ex)
                {
                    Console.WriteLine(ex.Message);
                    waitForKeyPress();
                }
                catch (ValueOutOfRangeException ex)
                {
                    Console.WriteLine(ex.Message);
                    waitForKeyPress();
                }
            }
        }
 private void handleBuild(VehicleBuildType vehicleBuildType)
 {
     switch (vehicleBuildType)
     {
         case VehicleBuildType.VehicleModel:
             m_VehicleBuilder.Model = ConsoleUtils.ParseModel();
             break;
         case VehicleBuildType.VehicleID:
             m_VehicleBuilder.ID = ConsoleUtils.ParseVehicleID();
             break;
         case VehicleBuildType.VehicleEngine:
             m_VehicleBuilder.InitalizeEngine(ConsoleUtils.ReadEnergyAmount());
             break;
         case VehicleBuildType.VehicleWheels:
             m_VehicleBuilder.Wheels = ConsoleUtils.ParseWheels(m_VehicleBuilder.MaxWheelPressure, m_VehicleBuilder.ValidWheelsCount);
             break;
         case VehicleBuildType.VehicleColor:
             m_VehicleBuilder.AddComponent(ConsoleUtils.ParseColor());
             break;
         case VehicleBuildType.VehicleDoors:
             m_VehicleBuilder.AddComponent(ConsoleUtils.ParseDoorsType());
             break;
         case VehicleBuildType.VehicleLicence:
             m_VehicleBuilder.AddComponent(ConsoleUtils.ParseLicenceType());
             break;
         case VehicleBuildType.VehicleHazardous:
             m_VehicleBuilder.AddComponent(ConsoleUtils.ParseHazardousType());
             break;
         case VehicleBuildType.VehicleEngineCapacity:
             m_VehicleBuilder.AddComponent(ConsoleUtils.ParseCapacity());
             break;
         case VehicleBuildType.VehicleWeight:
             m_VehicleBuilder.AddComponent(ConsoleUtils.ParseWeight());
             break;
         default:
             throw new ArgumentException("Unknown vehicle type");
     }
 }