예제 #1
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 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);
        }
예제 #3
0
        // $G$ DSN-011 (-8) The component who responsible for creating vehicles, should be in a separate component.
        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.eSource   vehicleEnergySource;
            EnergySource.eSource   energySourceOptions = new EnergySource.eSource();
            string PartOfOptionsHeaderMsg = string.Format("vehicle type");

            o_OwnerName  = m_InputUI.GetOwnerNameFromUser();
            o_OwnerPhone = m_InputUI.GetOwnerPhoneFromUser();

            vehicleType            = (Vehicle.eTypeOfVehicle)m_InputUI.MakeArrayOfStringFromEnum(PartOfOptionsHeaderMsg, vehicleOptions);
            PartOfOptionsHeaderMsg = string.Format("energy source");
            if (vehicleType != Vehicle.eTypeOfVehicle.Truck)
            {
                vehicleEnergySource = (EnergySource.eSource)m_InputUI.MakeArrayOfStringFromEnum(PartOfOptionsHeaderMsg, energySourceOptions);
            }
            else
            {
                vehicleEnergySource = EnergySource.eSource.FuelSource;
            }

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

            insertVehicleDetails(newVehicle);

            return(newVehicle);
        }
예제 #4
0
        public static Vehicle CreateNewVehicle(Vehicle.eTypeOfVehicle i_TypeOfVehicle, EnergySource.eSource i_SourceOfEnergy, string i_LicenseNumber, string i_ModelName, string i_WheelManufacturerName)
        {
            Vehicle newVehicle = null;

            if (Vehicle.eTypeOfVehicle.Motorcycle == i_TypeOfVehicle)
            {
                newVehicle = new Motorcycle(i_LicenseNumber, i_ModelName, i_WheelManufacturerName, i_SourceOfEnergy);
            }

            if (Vehicle.eTypeOfVehicle.Car == i_TypeOfVehicle)
            {
                newVehicle = new Car(i_LicenseNumber, i_ModelName, i_WheelManufacturerName, i_SourceOfEnergy);
            }

            if (Vehicle.eTypeOfVehicle.Truck == i_TypeOfVehicle)
            {
                newVehicle = new Truck(i_LicenseNumber, i_ModelName, i_WheelManufacturerName, i_SourceOfEnergy);
            }

            return(newVehicle);
        }
예제 #5
0
        public void CreateVehicle(Vehicle.eTypeOfVehicle i_VehicleType)
        {
            switch (i_VehicleType)
            {
            case Vehicle.eTypeOfVehicle.Truck:
                this.m_Vehicle = new Truck(i_VehicleType);
                break;

            case Vehicle.eTypeOfVehicle.Car:
                this.m_Vehicle = new Car(i_VehicleType);
                break;

            case Vehicle.eTypeOfVehicle.Motorcycle:
                this.m_Vehicle = new Motorcycle(i_VehicleType);
                break;

            default:
                throw new ArgumentException("not a valid vehicle type");
            }

            this.m_VehicleSetters = this.getSetters(this.m_Vehicle);
        }
예제 #6
0
 public Motorcycle(Vehicle.eTypeOfVehicle i_Type)
     : base(i_Type)
 {
     this.m_NumOfWheels          = k_NumOfWheels;
     this.m_MaximumWheelPressure = k_MaximumWheelPressure;
 }