public void ChargeElectricVehicle(string i_LicenseNumber, string i_MinutesToCharge) { ElectricEnergy electricType = m_VehiclesInGarage[i_LicenseNumber].Vehicle.Energy as ElectricEnergy; float minToRechare = float.Parse(i_MinutesToCharge); if (electricType != null) { electricType.batteryCharging(minutesToHours(minToRechare)); m_VehiclesInGarage[i_LicenseNumber].Vehicle.updatePecentageOfEnergy(); } else { throw new ArgumentException("The Vehicle number " + i_LicenseNumber + "doesn't have electric Energy"); } }
public static Motorcycle CreateMotorCycle(string i_LicensePlate, string i_Model, Dictionary <eVehicleData, string> i_DataMemory, Dictionary <Vehicle.eWheelData, string> i_Wheel, Energy.eEnergyType i_EnergyType) { checkNumericStrings(i_DataMemory[eVehicleData.EngineCapacity]); Motorcycle.eLicenseType licenceType = Motorcycle.parseLicenseType(i_DataMemory[eVehicleData.LicenceType]); int engineCapacity = int.Parse(i_DataMemory[eVehicleData.EngineCapacity]); Energy energyType = null; if (i_EnergyType == Energy.eEnergyType.Regular) { checkNumericStrings(i_DataMemory[eVehicleData.AmountOfFuelLeft]); energyType = new RegularEnergy(RegularEnergy.eFuelType.Octan95, float.Parse(i_DataMemory[eVehicleData.AmountOfFuelLeft]), k_RegularMotorcycleFullTank); } else if (i_EnergyType == Energy.eEnergyType.Electric) { checkNumericStrings(i_DataMemory[eVehicleData.HoursLeftInBattery]); energyType = new ElectricEnergy(float.Parse(i_DataMemory[eVehicleData.HoursLeftInBattery]), k_ElectricMotorcycleMaxBatteryHourTime); } return(new Motorcycle(licenceType, engineCapacity, i_Model, i_LicensePlate, i_Wheel, energyType)); }
public static Car CreateCar(string i_LicensePlate, string i_Model, Dictionary <eVehicleData, string> i_DataMemory, Dictionary <Vehicle.eWheelData, string> i_Wheel, Energy.eEnergyType i_EnergyType) { checkNumericStrings(i_DataMemory[eVehicleData.NumOfDoors]); Car.eColorType color = Car.parseColor(i_DataMemory[eVehicleData.Color]); int numOfDoors = Car.parseNumOfDoors(i_DataMemory[eVehicleData.NumOfDoors]); Energy energyType = null; if (i_EnergyType == Energy.eEnergyType.Regular) { checkNumericStrings(i_DataMemory[eVehicleData.AmountOfFuelLeft]); energyType = new RegularEnergy(RegularEnergy.eFuelType.Octan96, float.Parse(i_DataMemory[eVehicleData.AmountOfFuelLeft]), k_RegualrCarFullTank); } else if (i_EnergyType == Energy.eEnergyType.Electric) { checkNumericStrings(i_DataMemory[eVehicleData.HoursLeftInBattery]); energyType = new ElectricEnergy(float.Parse(i_DataMemory[eVehicleData.HoursLeftInBattery]), k_ElectricCarMaxBatteryHourTime); } return(new Car(color, numOfDoors, i_Model, i_LicensePlate, i_Wheel, energyType)); }