private static void createNewVehicleHelper(Garage io_Garage, string i_CarLicense, e_TypeOfPowerSource i_TypeOfPowerSource, Type i_TypeOfVehicle)
        {
            List <String> generalDetails      = getGenralDeatailsVehicle(i_CarLicense);
            List <float>  powerSourceDeatails = (i_TypeOfPowerSource.Equals(e_TypeOfPowerSource.Battery)) ?
                                                getElectricalDetails() : getVeichelByFuelDetails();
            List <string> wheels = getWheelDetails();
            Dictionary <string, List <string> > vehicleUniqeProperties =
                SystemVehicleManger.GetVehicleUniqeProperties(i_TypeOfVehicle);
            Dictionary <string, string> vehicleUniqeDetails = getVehicleUniqDetails(vehicleUniqeProperties);

            SystemVehicleManger.CreateVehicleInGarage(io_Garage, generalDetails, powerSourceDeatails, wheels,
                                                      vehicleUniqeDetails, i_TypeOfVehicle, i_TypeOfPowerSource);
        }
        private static void creatNewVehicle(string i_CarLicense, Garage io_Garage)
        {
            Dictionary <Type, List <e_TypeOfPowerSource> > supportredVehicles = SystemVehicleManger.GetSupportedVehicle();
            Type userChosenVehicle;
            e_TypeOfPowerSource userChosenVehiclePowersource;
            int runningIndex;

            showVehicleOptions(supportredVehicles, out runningIndex);
            int commandToDo;

            getValidAnswerToMultyplyChoiceAnswer(out commandToDo, 1, runningIndex);
            if (commandToDo == -1) // user decided to exit
            {
                throw new FormatException("You are back in the main menu");
            }
            else
            {
                classifyVehicle(supportredVehicles, commandToDo, out userChosenVehicle, out userChosenVehiclePowersource);
            }

            createNewVehicleHelper(io_Garage, i_CarLicense, userChosenVehiclePowersource, userChosenVehicle);
        }