public static Vehicle CreateVehicle(
            Vehicle.eTypeOfVehicle i_TypeOfVehicle,
            EnergySource.eSourceType i_EnergySource,
            string i_LicenseNumber,
            string i_ModelName,
            string i_WheelManufacturer)
        {
            Vehicle typeOfVehicle = null;

            switch (i_TypeOfVehicle)
            {
            case Vehicle.eTypeOfVehicle.Car:
                typeOfVehicle = new Car(i_ModelName, i_LicenseNumber, i_WheelManufacturer, i_EnergySource);
                break;

            case Vehicle.eTypeOfVehicle.Motorcycle:
                typeOfVehicle = new Motorcycle(i_ModelName, i_LicenseNumber, i_WheelManufacturer, i_EnergySource);
                break;

            case Vehicle.eTypeOfVehicle.Truck:
                typeOfVehicle = new Truck(i_ModelName, i_LicenseNumber, i_WheelManufacturer, i_EnergySource);
                break;
            }

            return(typeOfVehicle);
        }
Esempio n. 2
0
        private Vehicle createNewVehicle(
            string i_LicensePlate,
            string i_ModelName,
            string i_WheelManufacturer,
            out string o_OwnerName,
            out string o_OwnerPhone)
        {
            Vehicle newVehicle;

            Vehicle.eTypeOfVehicle   vehicleType, vehicleOptions = new Vehicle.eTypeOfVehicle();
            EnergySource.eSourceType vehicleEnergySource;
            EnergySource.eSourceType energySourceOptions = new EnergySource.eSourceType();
            string PartOfOptionsHeaderMsg = string.Format("vehicle type");

            o_OwnerName  = UI.GetOwnerName();
            o_OwnerPhone = UI.GetOwnerPhone();

            vehicleType            = (Vehicle.eTypeOfVehicle)UI.GetSpecificEnumInput(PartOfOptionsHeaderMsg, vehicleOptions);
            PartOfOptionsHeaderMsg = string.Format("energy source");
            if (vehicleType != Vehicle.eTypeOfVehicle.Truck)
            {
                vehicleEnergySource = (EnergySource.eSourceType)UI.GetSpecificEnumInput(PartOfOptionsHeaderMsg, energySourceOptions);
            }
            else
            {
                vehicleEnergySource = EnergySource.eSourceType.Gas;
            }

            newVehicle = VehicleFactory.CreateVehicle(vehicleType, vehicleEnergySource, i_LicensePlate, i_ModelName, i_WheelManufacturer);

            insertVehicleDetails(newVehicle);

            return(newVehicle);
        }
        public Vehicle(string i_ModelName, string i_LicenseNumber, EnergySource.eSourceType i_EnergySource)
        {
            m_ModelName     = i_ModelName;
            m_LicenseNumber = i_LicenseNumber;

            if (i_EnergySource.Equals(EnergySource.eSourceType.Gas))
            {
                m_EnergySource = new GasTank();
            }
            else
            {
                m_EnergySource = new Battery();
            }

            m_Wheels = new List <Wheel>();
        }
Esempio n. 4
0
        public Motorcycle(string i_ModelName, string i_LicenseNumber, string i_WheelManufactur, EnergySource.eSourceType i_EnergySource)
            : base(i_ModelName, i_LicenseNumber, i_EnergySource)
        {
            for (int i = 0; i < k_AmountOfWheels; i++)
            {
                Wheels.Add(new Wheel(i_WheelManufactur, (float)Wheel.eMaxAirPressure.Motorcycle));
            }

            InitEnergySource();
        }