internal FuelMotrobike(string i_ModelName, string i_LicenseNumber, float i_CurrentTrunkVolumePrecent)
            : base(i_LicenseNumber, i_ModelName)
        {
            float currPrecent = i_CurrentTrunkVolumePrecent * 7f / 100;

            m_VehicleEngineEnergy = new FuelEnergy(eFuelType.Octan95, 7f, currPrecent);
        }
Exemple #2
0
        private static EnergySource getEnergySource(
            string i_EnergySource,
            string i_VehicleType,
            Dictionary <string, string> i_VehicleProperties)
        {
            EnergySource energySource;
            float        maxEnergy;
            float        energyLeft;
            float        minEnergyToAdd   = 0;
            float        energyPercenatge = float.Parse(i_VehicleProperties["Energy Percentage (number 0-100)"]);

            energyPercenatge /= 100;
            if (i_EnergySource == "Fuel")
            {
                eFuelType fuelType = getFuelType(i_VehicleType);
                maxEnergy    = getFuelMaxEnergy(i_VehicleType);
                energyLeft   = maxEnergy * energyPercenatge;
                energySource = new FuelEnergy(fuelType, maxEnergy, energyLeft, minEnergyToAdd);
            }
            else if (i_EnergySource == "Electric")
            {
                maxEnergy    = getElectricMaxEnergy(i_VehicleType);
                energyLeft   = maxEnergy * energyPercenatge;
                energySource = new ElectricEnergy(maxEnergy, energyLeft, minEnergyToAdd);
            }
            else
            {
                throw new Exception("energy source is not valid");
            }

            return(energySource);
        }
Exemple #3
0
        internal FuelCar(string i_LicenseNumber, string i_ModelName, float i_CurrentTrunkVolumePrecent)
            : base(i_LicenseNumber, i_ModelName)
        {
            float currEnergy = i_CurrentTrunkVolumePrecent * 60f / 100;

            m_VehicleEngineEnergy = new FuelEnergy(eFuelType.Octan96, 60f, i_CurrentTrunkVolumePrecent);
        }
Exemple #4
0
        internal FuelTruck(string i_ModelName, string i_LicenseNumber, float i_CurrentTrunkVolumePrecent)
            : base(i_ModelName, i_LicenseNumber)
        {
            float currEnergy = i_CurrentTrunkVolumePrecent * 120f / 100;

            m_VehicleEngineEnergy = new FuelEnergy(eFuelType.Soler, 120, currEnergy);
        }
        public void RefuelFuelVehicle(string i_LicensePlate, FuelEnergy.eFuelType i_FuelType, float i_FuelToAdd)
        {
            this.checkLicensePlate(i_LicensePlate);
            FuelEnergy currentEnergy = this.m_Vehicle[i_LicensePlate].Vehicle.Energy as FuelEnergy;

            if (currentEnergy == null)
            {
                throw new ArgumentException("Vehicle doesn't have fuel type energy!");
            }

            currentEnergy.Refuel(i_FuelToAdd, i_FuelType);
        }
Exemple #6
0
        public void FillFuelVehicle(string i_LicenseNumber, eFuelType i_FuelType, float i_AmountOfFuelToFill)
        {
            Client     client     = GetClient(i_LicenseNumber);
            FuelEnergy fuelEnergy = client.Vehicle.Energy as FuelEnergy;

            if (fuelEnergy != null)
            {
                fuelEnergy.MakeFueling(i_AmountOfFuelToFill, i_FuelType);
            }
            else
            {
                throw new FormatException("This vehicle has no fuel system");
            }
        }
Exemple #7
0
 public void AddFuelToVehicle(string i_LicensePlate, eFuelType i_FuelType, float i_AmountOfFuelToAdd)
 {
     if (m_VehicleTickets[i_LicensePlate].Vehicle.EnergySource is FuelEnergy)
     {
         FuelEnergy CarFuelTank = m_VehicleTickets[i_LicensePlate].Vehicle.EnergySource as FuelEnergy;
         try
         {
             CarFuelTank.AddFuel(i_AmountOfFuelToAdd, i_FuelType);
         }
         catch (Exception ex)
         {
             Console.WriteLine(ex.Message);
             throw ex;
         }
     }
     else
     {
         throw new FormatException("Vehicle is not using Fuel!");
     }
 }
Exemple #8
0
        public static Vehicle CreateVehicle(string i_LicensePlate, eVehicleType i_VehicleType)
        {
            Vehicle newVehicle = null;
            Energy  energyType = null;

            if (i_VehicleType == eVehicleType.FuelCar)
            {
                energyType = new FuelEnergy(FuelEnergy.eFuelType.Octan98, k_FuelCarMaxEnergyCapacity);
                newVehicle = new Car(i_LicensePlate, energyType);
            }
            else if (i_VehicleType == eVehicleType.ElectricCar)
            {
                energyType = new ElectricEnergy(k_ElectricCarMaxEnergyCapacity);
                newVehicle = new Car(i_LicensePlate, energyType);
            }
            else if (i_VehicleType == eVehicleType.ElectricMotorcycle)
            {
                energyType = new ElectricEnergy(k_ElectricMotorcycleMaxEnergyCapacity);
                newVehicle = new Motorcycle(i_LicensePlate, energyType);
            }
            else if (i_VehicleType == eVehicleType.FuelMotorcycle)
            {
                energyType = new FuelEnergy(FuelEnergy.eFuelType.Octan96, k_FuelMotorcycleMaxEnergyCapacity);
                newVehicle = new Motorcycle(i_LicensePlate, energyType);
            }
            else if (i_VehicleType == eVehicleType.FuelTruck)
            {
                energyType = new FuelEnergy(FuelEnergy.eFuelType.Soler, k_TruckMaxEnergyCapacity);
                newVehicle = new Truck(i_LicensePlate, energyType);
            }
            else
            {
                throw new ArgumentException("Invalid vehicle type inserted!");
            }

            return(newVehicle);
        }
 protected void asssaignEnergySourceToFuel(ref VehicleEnergy io_Energy, eFuelType i_FuelType, float i_CurrentAmount, float i_MaxAmount, EnergyType i_Fuel)
 {
     FuelEnergy.ValidateFuelType(i_Fuel);
     io_Energy           = new FuelEnergy(i_FuelType, i_CurrentAmount, i_MaxAmount);
     PercentOfEnergyLeft = percentOfEnergyLeftCalculation(i_CurrentAmount, i_MaxAmount);
 }
Exemple #10
0
 internal FuelMotorcycle(string i_LicenseNumber)
     : base(i_LicenseNumber, k_MaxWheelAirPressure, k_NumberOfWheels)
 {
     EnergySystem = new FuelEnergy(k_MaxFuelTank, k_FuelKind);
 }