Exemple #1
0
        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);
        }
Exemple #2
0
        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();
        }
Exemple #3
0
        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();
        }