public ElectricVehicle(
            string i_ModelName,
            string i_LicenseNumber,
            float i_EnergyRemainder,
            VehicleTypes.eVehicleType i_VehicleType,
            string[] i_ManufacturerNamesOfAllTires,
            float[] i_CurrentPressureOfAllTires,
            float i_RemainingBatteryTime,
            float i_MaxBatteryTime) : base(
                i_ModelName,
                i_LicenseNumber,
                i_EnergyRemainder,
                i_VehicleType,
                i_ManufacturerNamesOfAllTires,
                i_CurrentPressureOfAllTires)
        {
            m_MaxBatteryTime = i_MaxBatteryTime;

            if (i_RemainingBatteryTime > m_MaxBatteryTime || i_RemainingBatteryTime < 0)
            {
                throw new ValueOutOfRangeException(m_MaxBatteryTime, 0, "Remaining Battery Time");
            }
            else
            {
                m_RemainingBatteryTime = i_RemainingBatteryTime;
            }
        }
Esempio n. 2
0
        public FuelVehicle(
            string i_ModelName,
            string i_LicenseNumber,
            float i_EnergyRemainder,
            VehicleTypes.eVehicleType i_VehicleType,
            string[] i_ManufacturerNamesOfAllTires,
            float[] i_CurrentPressureOfAllTires,
            eFuelType i_FuelType,
            float i_MaxFuelCapacity,
            float i_RemainingFuelAmount) : base(
                i_ModelName,
                i_LicenseNumber,
                i_EnergyRemainder,
                i_VehicleType,
                i_ManufacturerNamesOfAllTires,
                i_CurrentPressureOfAllTires)
        {
            m_FuelType        = i_FuelType;
            m_MaxFuelCapacity = i_MaxFuelCapacity;

            if (i_RemainingFuelAmount > m_MaxFuelCapacity || i_RemainingFuelAmount < 0)
            {
                throw new ValueOutOfRangeException(m_MaxFuelCapacity, 0, "Fuel Amount");
            }
            else
            {
                m_RemainingFuelAmount = i_RemainingFuelAmount;
            }
        }
Esempio n. 3
0
        private static string[] getTireManufacturers(VehicleTypes.eVehicleType i_VehicleType)
        {
            int tiresAmount = VehicleTypes.DefineTireAmountByType(i_VehicleType);

            string[] manufacturers = new string[tiresAmount];
            string   output        = string.Format("Enter the Manufacturers of All {0} Tires: ", tiresAmount);

            Console.WriteLine(output);

            for (int i = 0; i < tiresAmount; i++)
            {
                manufacturers[i] = Console.ReadLine();
            }

            return(manufacturers);
        }
Esempio n. 4
0
        private static float[] getCurrentPressureOfAllTires(VehicleTypes.eVehicleType i_VehicleType)
        {
            int tiresAmount = VehicleTypes.DefineTireAmountByType(i_VehicleType);

            float[] allTiresPressure = new float[tiresAmount];
            string  output           = string.Format("Enter the Air Pressure of All {0} Tires: ", tiresAmount);

            Console.WriteLine(output);

            for (int i = 0; i < tiresAmount; i++)
            {
                while (!float.TryParse(Console.ReadLine(), out allTiresPressure[i]))
                {
                    output = string.Format("Error,try again: ");
                    Console.WriteLine(output);
                }
            }

            return(allTiresPressure);
        }
Esempio n. 5
0
        public Vehicle(
            string i_VehicleModelName,
            string i_LicensePlateNumber,
            float i_EnergyRemainder,
            VehicleTypes.eVehicleType i_VehicleType,
            string[] i_ManufacturerNamesOfAllTires,
            float[] i_CurrentPressureOfAllTires)
        {
            r_VehicleModelName   = i_VehicleModelName;
            r_LicensePlateNumber = i_LicensePlateNumber;
            r_EnergyRemainder    = i_EnergyRemainder;
            m_RepairState        = eRepairState.InRepair;

            int   tireAmount      = VehicleTypes.DefineTireAmountByType(i_VehicleType);
            float maxTirePressure = VehicleTypes.DefineMaxTirePressureByType(i_VehicleType);

            r_Tires = new List <Tire>(tireAmount);

            for (int i = 0; i < tireAmount; i++)
            {
                r_Tires.Add(new Tire(i_ManufacturerNamesOfAllTires[i], maxTirePressure, i_CurrentPressureOfAllTires[i]));
            }
        }
Esempio n. 6
0
        private Vehicle chooseConstructorMethodByType()
        {
            Vehicle vehicle = null;

            VehicleTypes.eVehicleType vehicleType = getVehicleType();

            switch (vehicleType)
            {
            case VehicleTypes.eVehicleType.ElectricBike:
                vehicle = VehicleTypes.CreateNewElectricBike(
                    getModelName(),
                    getLicensePlateNumber(),
                    getTireManufacturers(vehicleType),
                    getCurrentPressureOfAllTires(vehicleType),
                    getRemainingBatteryTime(),
                    getBikeLicenseType(),
                    getBikeEngineVolume());
                break;

            case VehicleTypes.eVehicleType.ElectricCar:
                vehicle = VehicleTypes.CreateNewElectricCar(
                    getModelName(),
                    getLicensePlateNumber(),
                    getTireManufacturers(vehicleType),
                    getCurrentPressureOfAllTires(vehicleType),
                    getRemainingBatteryTime(),
                    getCarDoorAmount(),
                    getCarColor());
                break;

            case VehicleTypes.eVehicleType.PetrolBike:
                vehicle = VehicleTypes.CreateNewPetrolBike(
                    getModelName(),
                    getLicensePlateNumber(),
                    getTireManufacturers(vehicleType),
                    getCurrentPressureOfAllTires(vehicleType),
                    getRemainingFuelAmount(),
                    getBikeEngineVolume(),
                    getBikeLicenseType());
                break;

            case VehicleTypes.eVehicleType.PetrolCar:
                vehicle = VehicleTypes.CreateNewPetrolCar(
                    getModelName(),
                    getLicensePlateNumber(),
                    getTireManufacturers(vehicleType),
                    getCurrentPressureOfAllTires(vehicleType),
                    getRemainingFuelAmount(),
                    getCarDoorAmount(),
                    getCarColor());
                break;

            case VehicleTypes.eVehicleType.Truck:
                vehicle = VehicleTypes.CreateNewTruck(
                    getModelName(),
                    getLicensePlateNumber(),
                    getTireManufacturers(vehicleType),
                    getCurrentPressureOfAllTires(vehicleType),
                    getRemainingFuelAmount(),
                    getCheckIfTrunkIsCooled(),
                    getTrunkSize());
                break;
            }

            return(vehicle);
        }