public static Vehicle MakeVehicle(Vehicle.eVehicleType i_VehicleType, DetailsOfVehicle i_DetailsOfVehicle)
        {
            Vehicle newVehicle = null;

            switch (i_VehicleType)
            {
            case Vehicle.eVehicleType.FuelCar:
                newVehicle = new FuelCar(i_DetailsOfVehicle as DetailsOfFuelCar);
                break;

            case Vehicle.eVehicleType.ElectricCar:
                newVehicle = new ElectricCar(i_DetailsOfVehicle as DetailsOfElectricCar);
                break;

            case Vehicle.eVehicleType.ElectricMotorcycle:
                newVehicle = new ElectricMotorcycle(i_DetailsOfVehicle as DetailsOfElectricMotorcycle);
                break;

            case Vehicle.eVehicleType.FuelMotorcycle:
                newVehicle = new FuelMotorcycle(i_DetailsOfVehicle as DetailsOfFuelMotorcycle);
                break;

            case Vehicle.eVehicleType.Truck:
                newVehicle = new FuelTruck(i_DetailsOfVehicle as DetailsOfFuelTruck);
                break;
            }

            return(newVehicle);
        }
        public static Vehicle CreateVehicle(eTypeOfVehicle i_TypeOfVehicle, string i_LicenseNumber)
        {
            Vehicle newVehicleToCreate = null;

            switch (i_TypeOfVehicle)
            {
            case eTypeOfVehicle.ElectricCar:
                newVehicleToCreate = new ElectricCar(i_LicenseNumber);
                break;

            case eTypeOfVehicle.ElectricMotorcycle:
                newVehicleToCreate = new ElectricMotorcycle(i_LicenseNumber);
                break;

            case eTypeOfVehicle.FuelTruck:
                newVehicleToCreate = new FuelTruck(i_LicenseNumber);
                break;

            case eTypeOfVehicle.FuelCar:
                newVehicleToCreate = new FuelCar(i_LicenseNumber);
                break;

            case eTypeOfVehicle.FuelMotorcycle:
                newVehicleToCreate = new FuelMotorcycle(i_LicenseNumber);
                break;
            }

            return(newVehicleToCreate);
        }
Beispiel #3
0
        public Vehicle InitVehicle(eVehicleTypes i_VehicleType)
        {
            Vehicle newVehicle = null;

            switch (i_VehicleType)
            {
            case eVehicleTypes.FUEL_CAR:
                newVehicle = new FuelCar(eFuel.OCTAN_96, r_MaxCarFuelCapability, eWheels.FOUR, r_MaxCarAirPessure);
                break;

            case eVehicleTypes.ELECTRIC_CAR:
                newVehicle = new ElectricCar(r_MaxCarBatteryCapabity, eWheels.FOUR, r_MaxCarAirPessure);
                break;

            case eVehicleTypes.FUEL_MOTORCYCLE:
                newVehicle = new FuelMotorcycle(eFuel.OCTAN_95, r_MaxMotorcycleFuelCapability, eWheels.TWO, r_MaxMotorcycleAirPessure);
                break;

            case eVehicleTypes.ELECTRIC_MOTORCYCLE:
                newVehicle = new ElectricMotorcycle(r_MaxMotorcycleBatteryCapabity, eWheels.TWO, r_MaxMotorcycleAirPessure);
                break;

            case eVehicleTypes.TRUCK:
                newVehicle = new Truck(eFuel.SOLER, r_MaxTruckFuelCapability, eWheels.SIXTEEN, r_MaxTruckAirPessure);
                break;

            default:
                throw new ArgumentException(string.Format("Invalid vehicle type - {0}", i_VehicleType.ToString()));
            }

            return(newVehicle);
        }
Beispiel #4
0
        public static Vehicle CreateVehicle(eVehicleType i_VehicleType, string i_ModelName, string i_LicenseNumber)
        {
            Vehicle vehicleToCreate = null;

            switch (i_VehicleType)
            {
            case eVehicleType.FuelCar:
                vehicleToCreate = new FuelCar(i_ModelName, i_LicenseNumber);
                break;

            case eVehicleType.ElectricCar:
                vehicleToCreate = new ElectricCar(i_ModelName, i_LicenseNumber);
                break;

            case eVehicleType.FuelMotorcycle:
                vehicleToCreate = new FuelMotorcycle(i_ModelName, i_LicenseNumber);
                break;

            case eVehicleType.ElectricMotorcycle:
                vehicleToCreate = new ElectricMotorcycle(i_ModelName, i_LicenseNumber);
                break;

            case eVehicleType.FuelTruck:
                vehicleToCreate = new FuelTruck(i_ModelName, i_LicenseNumber);
                break;

            default:
                break;
            }

            return(vehicleToCreate);
        }
        public static Vehicle Create(eVehicleTypes i_Identifier, List <object> i_ParamsArray, Wheel[] i_Wheels)
        {
            Vehicle vehicleToReturn = null;

            switch (i_Identifier)
            {
            case eVehicleTypes.FuelCar:
                vehicleToReturn = new FuelCar((string)i_ParamsArray[0], (string)i_ParamsArray[1], (float)i_ParamsArray[2], (eCarColor)i_ParamsArray[3], (eDoorsNumber)i_ParamsArray[4], i_Wheels);
                break;

            case eVehicleTypes.FuelMotorcycle:
                vehicleToReturn = new FuelMotorcycle((string)i_ParamsArray[0], (string)i_ParamsArray[1], (float)i_ParamsArray[2], (eLicenseTypes)i_ParamsArray[3], (int)i_ParamsArray[4], i_Wheels);
                break;

            case eVehicleTypes.ElectricMotorcycle:
                vehicleToReturn = new ElectricMotorcycle((string)i_ParamsArray[0], (string)i_ParamsArray[1], (float)i_ParamsArray[2], (eLicenseTypes)i_ParamsArray[3], (int)i_ParamsArray[4], i_Wheels);
                break;

            case eVehicleTypes.ElectricCar:
                vehicleToReturn = new ElectricCar((string)i_ParamsArray[0], (string)i_ParamsArray[1], (float)i_ParamsArray[2], (eCarColor)i_ParamsArray[3], (eDoorsNumber)i_ParamsArray[4], i_Wheels);
                break;

            case eVehicleTypes.Truck:
                vehicleToReturn = new Truck((string)i_ParamsArray[0], (string)i_ParamsArray[1], (float)i_ParamsArray[2], (bool)i_ParamsArray[3], (int)i_ParamsArray[4], i_Wheels);
                break;

            default:
                break;
            }

            return(vehicleToReturn);
        }
Beispiel #6
0
        internal static Vehicle CreateVehicle(eVehicleType i_VehicleType, Dictionary <string, string> i_VehicleProperties)
        {
            Vehicle vehicle = null;

            switch (i_VehicleType)
            {
            case eVehicleType.Car:
                vehicle = new FuelCar();
                break;

            case eVehicleType.ElectricCar:
                vehicle = new ElectricCar();
                break;

            case eVehicleType.Motorcycle:
                vehicle = new FuelMotorcycle();
                break;

            case eVehicleType.ElectricMotorcycle:
                vehicle = new ElectricMotorcycle();
                break;

            case eVehicleType.Truck:
                vehicle = new Truck();
                break;
            }

            vehicle.SetVehicleProperties(i_VehicleProperties);

            return(vehicle);
        }
        /**
         * This method creates the wanted vehicle type and returns it
         * Throws ArgumentException if no such vehicle exists
         */
        public static Vehicle MakeVehicle(eVehicleType i_VehicleType)
        {
            Vehicle newVehicle;

            switch (i_VehicleType)
            {
            case eVehicleType.ElectricMotorcycle:
                newVehicle = new ElectricMotorcycle();
                break;

            case eVehicleType.FuelMotorcycle:
                newVehicle = new FuelMotorcycle();
                break;

            case eVehicleType.ElectricCar:
                newVehicle = new ElectricCar();
                break;

            case eVehicleType.FuelCar:
                newVehicle = new FuelCar();
                break;

            case eVehicleType.FuelTruck:
                newVehicle = new FuelTruck();
                break;

            default:
                throw new ArgumentException(string.Format("The index {0} is not supported.", i_VehicleType));
            }

            return(newVehicle);
        }
Beispiel #8
0
        internal static Dictionary <string, List <string> > GetVehicleProperties(eVehicleType i_VehicleType)
        {
            Vehicle vehicle = null;

            switch (i_VehicleType)
            {
            case eVehicleType.Car:
                vehicle = new FuelCar();
                break;

            case eVehicleType.ElectricCar:
                vehicle = new ElectricCar();
                break;

            case eVehicleType.Motorcycle:
                vehicle = new FuelMotorcycle();
                break;

            case eVehicleType.ElectricMotorcycle:
                vehicle = new ElectricMotorcycle();
                break;

            case eVehicleType.Truck:
                vehicle = new Truck();
                break;
            }

            return(vehicle.GetVehicleProperties());
        }
Beispiel #9
0
        public static Vehicle MakeNewVehicle(eVehicle i_TypeToCreate, string i_ModelName, string i_LicensePlateNumber, out List <string> o_QuestionsToAsk, out List <string> o_Attributes)
        {
            switch (i_TypeToCreate)
            {
            case eVehicle.ElectricCar:
            {
                o_QuestionsToAsk = ElectricCar.GetQuestions();
                o_Attributes     = ElectricCar.GetAtributes();
                return(new ElectricCar(i_ModelName, i_LicensePlateNumber, 4, 32, 2.1f));
            }

            case eVehicle.FuelCar:
            {
                o_QuestionsToAsk = FuelCar.GetQuestions();
                o_Attributes     = FuelCar.GetAtributes();
                return(new FuelCar(i_ModelName, i_LicensePlateNumber, 4, 32, FuelVehicle.eFuel.Octan96, 60));
            }

            case eVehicle.ElectricMotorcycle:
            {
                o_QuestionsToAsk = ElectricMotorcycle.GetQuestions();
                o_Attributes     = ElectricMotorcycle.GetAtributes();
                return(new ElectricMotorcycle(i_ModelName, i_LicensePlateNumber, 2, 30, 1.2f));
            }

            case eVehicle.FuelMotorcycle:
            {
                o_QuestionsToAsk = FuelMotorcycle.GetQuestions();
                o_Attributes     = FuelMotorcycle.GetAtributes();

                return(new FuelMotorcycle(i_ModelName, i_LicensePlateNumber, 2, 30, FuelVehicle.eFuel.Octan95, 7));
            }

            case eVehicle.Truck:
            {
                o_QuestionsToAsk = Truck.GetQuestions();
                o_Attributes     = Truck.GetAtributes();
                return(new Truck(i_ModelName, i_LicensePlateNumber, 16, 28, FuelVehicle.eFuel.Soler, 120));
            }

            default:
            {
                o_QuestionsToAsk = null;
                o_Attributes     = null;
                return(null);
            }
            }
        }
Beispiel #10
0
        public void SetMotorcycleAdditionalParams(string i_LicenseNumber, int i_LicenseType, int i_EngineCapacity)
        {
            GarageVehicle garageVehicle = VehiclesInGarage[i_LicenseNumber];

            eLicenseTypes licenseType = checkIfValidLicenseTypeParam(i_LicenseType);

            if (garageVehicle.Vehicle is ElectricMotorcycle)
            {
                ElectricMotorcycle electricMotorcycle = garageVehicle.Vehicle as ElectricMotorcycle;
                electricMotorcycle.MotorcycleDetails.LicenseType    = licenseType;
                electricMotorcycle.MotorcycleDetails.EngineCapacity = i_EngineCapacity;
            }
            else if (garageVehicle.Vehicle is FuelMotorcycle)
            {
                FuelMotorcycle fuelMotorcycle = garageVehicle.Vehicle as FuelMotorcycle;
                fuelMotorcycle.MotorcycleDetails.LicenseType    = licenseType;
                fuelMotorcycle.MotorcycleDetails.EngineCapacity = i_EngineCapacity;
            }
        }
Beispiel #11
0
        // $G$ CSS-999 (-3) Public/internal methods should start with an Uppercase letter.
        internal static Vehicle createVehicle(string i_LicenseNumber, int i_VehicleType)
        {
            Vehicle      newVehicle  = null;
            eVehicleType vehicleType = (eVehicleType)i_VehicleType;

            switch (vehicleType)
            {
            case eVehicleType.FuelMotorcycle:
            {
                newVehicle = new FuelMotorcycle(i_LicenseNumber);
                break;
            }

            case eVehicleType.ElectricMotorcycle:
            {
                newVehicle = new ElectricMotorcycle(i_LicenseNumber);
                break;
            }

            case eVehicleType.FuelCar:
            {
                newVehicle = new FuelCar(i_LicenseNumber);
                break;
            }

            case eVehicleType.ElectricCar:
            {
                newVehicle = new ElectricCar(i_LicenseNumber);
                break;
            }

            case eVehicleType.FuelTruck:
            {
                newVehicle = new FuelTruck(i_LicenseNumber);
                break;
            }
            }

            return(newVehicle);
        }
Beispiel #12
0
        public static Vehicle CreateVehicle(int i_VehicleType, string i_ModelName, string i_LicenceNumber)
        {
            Vehicle newVehicle = null;

            try
            {
                eVehicleType vehicleType = (eVehicleType)i_VehicleType;

                switch (vehicleType)
                {
                case eVehicleType.FuelCar:
                    newVehicle = new FuelCar(i_ModelName, i_LicenceNumber);
                    break;

                case eVehicleType.ElectricCar:
                    newVehicle = new ElectricCar(i_ModelName, i_LicenceNumber);
                    break;

                case eVehicleType.ElectricMotorcycle:
                    newVehicle = new ElectricMotorcycle(i_ModelName, i_LicenceNumber);
                    break;

                case eVehicleType.FuelMotorcycle:
                    newVehicle = new FuelMotorcycle(i_ModelName, i_LicenceNumber);
                    break;

                case eVehicleType.FuelTruck:
                    newVehicle = new FuelTruck(i_ModelName, i_LicenceNumber);
                    break;
                }
            }
            catch
            {
                throw new ArgumentException("No matching vehicle was found!!");
            }

            return(newVehicle);
        }
Beispiel #13
0
        public Vehicle CreateVehicle()
        {
            try
            {
                Vehicle vehicleToCreate;
                switch (m_VehicleToCreate)
                {
                case eTypeOfVehicles.ElectricCar:
                    vehicleToCreate = new ElectricCar();
                    break;

                case eTypeOfVehicles.ElectricMotorcycle:
                    vehicleToCreate = new ElectricMotorcycle();
                    break;

                case eTypeOfVehicles.FuelCar:
                    vehicleToCreate = new FuelCar();
                    break;

                case eTypeOfVehicles.FuelMotorcycle:
                    vehicleToCreate = new FuelMotorcycle();
                    break;

                case eTypeOfVehicles.Truck:
                    vehicleToCreate = new Truck();
                    break;

                default:
                    throw new ArgumentException(r_ErrorMessage);
                }

                return(vehicleToCreate);
            }
            catch (Exception ex)
            {
                throw new Exception(r_ErrorMessage, ex);
            }
        }
Beispiel #14
0
        public FuelMotorcycle CreateNewFuelMotorcycle(FuelEngine i_FuelVehicle, eLicenseType i_LicenseType, int i_EngineCapacity, string i_ModelName, string i_LicenseNumber, float i_ThePercentageOfEnergyLeft, List <Wheel> i_Wheels)
        {
            FuelMotorcycle fuelMotorcycle = new FuelMotorcycle(i_FuelVehicle, i_LicenseType, i_EngineCapacity, i_ModelName, i_LicenseNumber, i_ThePercentageOfEnergyLeft, i_Wheels);

            return(fuelMotorcycle);
        }
Beispiel #15
0
        public static FuelMotorcycle createFuelMotorcycle(Motorcycle i_Motorcycle, FuelVehicle.eFuelType i_FuelType, float i_CurrentAmountOfFuel, string i_Model, string i_LicensePlateNumber, float i_PercentOfRemainingEnergy, List <Tire> i_Tires)
        {
            FuelMotorcycle newFuelMotorcycle = new FuelMotorcycle(i_Motorcycle, i_FuelType, i_CurrentAmountOfFuel, i_Model, i_LicensePlateNumber, i_PercentOfRemainingEnergy, i_Tires);

            return(newFuelMotorcycle);
        }
        public static Vehicle GenerateVehicle(GarageENums.eVehicleType i_VehicleType, List <object> i_VehicleInfo)
        {
            Vehicle newVehicle = null;

            switch (i_VehicleType)
            {
            case GarageENums.eVehicleType.FuelCar:
                newVehicle = new FuelCar((string)i_VehicleInfo[0],
                                         (string)i_VehicleInfo[1],
                                         (string)i_VehicleInfo[2],
                                         (string)i_VehicleInfo[3],
                                         (float)i_VehicleInfo[4],
                                         (float)i_VehicleInfo[5],
                                         (string)i_VehicleInfo[6],
                                         (Car.eCarColor)i_VehicleInfo[7],
                                         (Car.eNumberOfCarDoors)i_VehicleInfo[8]);
                break;

            case GarageENums.eVehicleType.ElectricCar:
                newVehicle = new ElectricCar((string)i_VehicleInfo[0],
                                             (string)i_VehicleInfo[1],
                                             (string)i_VehicleInfo[2],
                                             (string)i_VehicleInfo[3],
                                             (float)i_VehicleInfo[4],
                                             (float)i_VehicleInfo[5],
                                             (string)i_VehicleInfo[6],
                                             (Car.eCarColor)i_VehicleInfo[7],
                                             (Car.eNumberOfCarDoors)i_VehicleInfo[8]);
                break;

            case GarageENums.eVehicleType.FuelMotorcycle:
                newVehicle = new FuelMotorcycle((string)i_VehicleInfo[0],
                                                (string)i_VehicleInfo[1],
                                                (string)i_VehicleInfo[2],
                                                (string)i_VehicleInfo[3],
                                                (float)i_VehicleInfo[4],
                                                (float)i_VehicleInfo[5],
                                                (string)i_VehicleInfo[6],
                                                (Motorcycle.eMotorcycleLicenseType)i_VehicleInfo[7],
                                                (int)i_VehicleInfo[8]);
                break;

            case GarageENums.eVehicleType.ElectricMotorcycle:
                newVehicle = new ElectricMotorcycle((string)i_VehicleInfo[0],
                                                    (string)i_VehicleInfo[1],
                                                    (string)i_VehicleInfo[2],
                                                    (string)i_VehicleInfo[3],
                                                    (float)i_VehicleInfo[4],
                                                    (float)i_VehicleInfo[5],
                                                    (string)i_VehicleInfo[6],
                                                    (Motorcycle.eMotorcycleLicenseType)i_VehicleInfo[7],
                                                    (int)i_VehicleInfo[8]);
                break;

            case GarageENums.eVehicleType.FuelTruck:
                newVehicle = new FuelTruck((string)i_VehicleInfo[0],
                                           (string)i_VehicleInfo[1],
                                           (string)i_VehicleInfo[2],
                                           (string)i_VehicleInfo[3],
                                           (float)i_VehicleInfo[4],
                                           (float)i_VehicleInfo[5],
                                           (string)i_VehicleInfo[6],
                                           (float)i_VehicleInfo[7],
                                           (bool)i_VehicleInfo[8]);
                break;
            }

            return(newVehicle);
        }