public void StoreVehicle(Vehicle i_VehicleToStore, VehicleOwner i_OwnerToStore) { StoredVehicle newVehicle = new StoredVehicle(i_VehicleToStore, i_OwnerToStore); bool isVehicleIdAlreadyRegistered = false; isVehicleIdAlreadyRegistered = m_StoredVehiclesDictionary.ContainsKey(i_VehicleToStore.GetHashCode()); if (isVehicleIdAlreadyRegistered) { throw new ArgumentException(string.Format("ID: {0} is already registered.", i_VehicleToStore.ID)); } m_StoredVehiclesDictionary.Add(i_VehicleToStore.GetHashCode(), newVehicle); }
public void RechargeElectric(string i_VehicleId, float i_AmountToRecharge) { StoredVehicle vehicleToRecharge = null; ElectricEngine engineToRecharge = null; bool isEngineElectric = false; vehicleToRecharge = getStoredVehicle(i_VehicleId); isEngineElectric = vehicleToRecharge.Vehicle.Engine is ElectricEngine; if (!isEngineElectric) { throw new ArgumentException("Engine is not ElectricEngine."); } engineToRecharge = (vehicleToRecharge.Vehicle.Engine as ElectricEngine); engineToRecharge.Recharge(i_AmountToRecharge); vehicleToRecharge.Vehicle.calculateCurrentEnergyPercent(); }
public void RechargeFuel(string i_VehicleId, FuelEngine.eFuelType i_FuelType, float i_AmountToRecharge) { StoredVehicle vehicleToRecharge = null; FuelEngine engineToRecharge = null; bool isEngineFuel = false; vehicleToRecharge = getStoredVehicle(i_VehicleId); isEngineFuel = vehicleToRecharge.Vehicle.Engine is FuelEngine; if (!isEngineFuel) { throw new ArgumentException("Engine is not FuelEngine."); } engineToRecharge = (vehicleToRecharge.Vehicle.Engine as FuelEngine); engineToRecharge.Recharge(i_AmountToRecharge, i_FuelType); // if not fuel engine, if wrong fuel type, if amount too high. vehicleToRecharge.Vehicle.calculateCurrentEnergyPercent(); }