public static Bike.eLicenseType ParseBikeLicenseType(string i_Input) { Bike.eLicenseType userOption = 0; try { switch ((Bike.eLicenseType)Enum.Parse(typeof(Bike.eLicenseType), i_Input)) { case Bike.eLicenseType.A: userOption = Bike.eLicenseType.A; break; case Bike.eLicenseType.A1: userOption = Bike.eLicenseType.A1; break; case Bike.eLicenseType.AB: userOption = Bike.eLicenseType.AB; break; case Bike.eLicenseType.B1: userOption = Bike.eLicenseType.B1; break; default: throw new FormatException("Invalid input, valid licenses are: 'A', 'A1', 'AB' or 'B1'"); } } catch { throw new FormatException("Invalid input, valid licenses are: 'A', 'A1', 'AB' or 'B1'"); } return(userOption); }
private static Vehicle createBike(Engine.eEngineType i_Engine, List <string> i_VehicleParametersStrings, eVehicleType i_VehicleType) { string modelName; string licenseNumber; float energyPercentageLeft; string tireManufactureName; float tireCurrentAirPressure; Bike.eLicenseType licenseType = (Bike.eLicenseType)Enum.Parse(typeof(Bike.eLicenseType), i_VehicleParametersStrings[(int)eExtraParametersInputOrder.BikeLicenseType]); getVehicleParameters( i_VehicleParametersStrings, out modelName, out licenseNumber, out energyPercentageLeft, out tireManufactureName, out tireCurrentAirPressure); Engine engine = i_Engine == Engine.eEngineType.FuelEngine ? createFuelEngine(Bike.k_FuelType, Bike.k_MaxTankCapacity) : (Engine)createElectricEngine(Bike.k_MaxBatteryTime); Bike bike = new Bike(i_VehicleType, modelName, licenseNumber, new Tire[Bike.k_NumberOfTires], engine, energyPercentageLeft, tireManufactureName, tireCurrentAirPressure, licenseType, Bike.k_MaxTankCapacity); return(bike); }