public static void InitializeVehicleTypeList()
 {
     for (eVehicles vehicleType = eVehicles.ElectricCar; vehicleType <= eVehicles.Truck; vehicleType++)
     {
         m_VehicleTypes.Add(vehicleType);
     }
 }
        public static Vehicle CreateVehicle(eVehicles i_VehicleType, string i_LicenseNumber)
        {
            Vehicle newVehicle = null;

            switch (i_VehicleType)
            {
            case eVehicles.FuelMotorcycle:
                newVehicle = new FuelMotorcycle(i_LicenseNumber);

                break;

            case eVehicles.ElectricMotorcycle:
                newVehicle = new ElectricMotorcycle(i_LicenseNumber);
                break;

            case eVehicles.FuelCar:
                newVehicle = new FuelCar(i_LicenseNumber);
                break;

            case eVehicles.ElectricCar:
                newVehicle = new ElectricCar(i_LicenseNumber);
                break;

            case eVehicles.Truck:
                newVehicle = new Truck(i_LicenseNumber);
                break;
            }

            return(newVehicle);
        }
Ejemplo n.º 3
0
        // Energy can be fuel or battery
        private static float enterEnergyLeft(bool i_IsElectric, eVehicles i_Vehicle, float i_MaxEnergyLeft)
        {
            string energyLeftInput;
            float  validEnergyLeft;

            Console.WriteLine(MessagesEnglish.k_GetFuelOrEnergyLeftMessage, i_IsElectric ? MessagesEnglish.k_BatteryMessage : MessagesEnglish.k_FuelMessage, i_Vehicle, i_MaxEnergyLeft);
            energyLeftInput = Console.ReadLine();
            while (!InputValidation.IsValidFloatInput(energyLeftInput, out validEnergyLeft) || (validEnergyLeft > i_MaxEnergyLeft))
            {
                Console.WriteLine(MessagesEnglish.k_InvalidInputMessage);
                Console.WriteLine(MessagesEnglish.k_GetFuelOrEnergyLeftMessage, i_IsElectric ? MessagesEnglish.k_BatteryMessage : MessagesEnglish.k_FuelMessage, i_Vehicle, i_MaxEnergyLeft);
                energyLeftInput = Console.ReadLine();
            }

            return(validEnergyLeft);
        }
Ejemplo n.º 4
0
        private static void createTruck(bool i_IsElectric, string i_TruckModel, string i_LicencePlate, VehicleOwner i_VehicleOwner, eVehicles i_Vehicle)
        {
            float  fuelLeft;
            float  CargoVolume;
            bool   dangerousMaterials;
            float  wheelsCurrentAirPressure;
            string wheelMaker;

            fuelLeft           = enterEnergyLeft(i_IsElectric, i_Vehicle, k_TruckMaxFuel);
            dangerousMaterials = enterDangerousMaterialsInput();
            CargoVolume        = enterCargoVolume();
            getWheelInformation(out wheelMaker, out wheelsCurrentAirPressure, s_MyGarage.TruckMaxAirPressure);
            Truck newTruck = CreateVehicle.CreateTruck(i_TruckModel, i_LicencePlate, fuelLeft, dangerousMaterials, CargoVolume, wheelMaker, wheelsCurrentAirPressure, i_VehicleOwner);

            s_MyGarage.AddVehicleToGarage(newTruck);
        }
Ejemplo n.º 5
0
        private static void createMotorcycle(bool i_IsElectric, string i_MotorcycleModel, string i_LicencePlate, VehicleOwner i_VehicleOwner, eVehicles i_Vehicle)
        {
            float  energyLeft;
            int    validEngineVolume;
            float  wheelsCurrentAirPressure;
            string wheelMaker;
            eMotorcycleLicenceType licenceType;

            energyLeft = enterEnergyLeft(i_IsElectric, i_Vehicle, i_IsElectric ? k_ElectricMotorcycleMaxBattery : k_MotorcycleMaxFuel);

            licenceType = (eMotorcycleLicenceType)displayEnumOptions(typeof(eMotorcycleLicenceType), MessagesEnglish.k_GetLicenseTypeMessage);

            validEngineVolume = enterEngineVolume();

            getWheelInformation(out wheelMaker, out wheelsCurrentAirPressure, s_MyGarage.MotorcycleMaxAirPressure);

            if (i_IsElectric)
            {
                ElectricMotorcycle newElectricMotorcycle = CreateVehicle.CreateElectricMotorcycle(i_MotorcycleModel, i_LicencePlate, energyLeft, licenceType,
                                                                                                  validEngineVolume, wheelMaker, wheelsCurrentAirPressure, i_VehicleOwner);
                s_MyGarage.AddVehicleToGarage(newElectricMotorcycle);
            }
            else
            {
                Motorcycle newMotorcycle = CreateVehicle.CreateMotorcycle(i_MotorcycleModel, i_LicencePlate, energyLeft, licenceType,
                                                                          validEngineVolume, wheelMaker, wheelsCurrentAirPressure, i_VehicleOwner);
                s_MyGarage.AddVehicleToGarage(newMotorcycle);
            }
        }
Ejemplo n.º 6
0
        private static void createCar(bool i_IsElectric, string i_CarModel, string i_LicencePlate, VehicleOwner i_VehicleOwner, eVehicles vehicle)
        {
            float       energyLeft;
            eCarColors  color;
            eNumOfDoors numOfDoors;
            float       wheelsCurrentAirPressure;
            string      wheelMaker;

            energyLeft = enterEnergyLeft(i_IsElectric, vehicle, i_IsElectric ? k_ElectricCarMaxBattery : k_CarMaxFuel);
            color      = (eCarColors)displayEnumOptions(typeof(eCarColors), MessagesEnglish.k_GetColorMessage);

            numOfDoors = (eNumOfDoors)displayEnumOptions(typeof(eNumOfDoors), MessagesEnglish.k_GetNumDoorsMessage);

            getWheelInformation(out wheelMaker, out wheelsCurrentAirPressure, s_MyGarage.CarMaxAirPressure);
            if (i_IsElectric)
            {
                ElectricCar newElectricCar = CreateVehicle.CreateElectricCar(i_CarModel, i_LicencePlate, energyLeft, color,
                                                                             numOfDoors, wheelMaker, wheelsCurrentAirPressure, i_VehicleOwner);
                s_MyGarage.AddVehicleToGarage(newElectricCar);
            }
            else
            {
                Car newCar = CreateVehicle.CreateCar(i_CarModel, i_LicencePlate, energyLeft, color, numOfDoors, wheelMaker, wheelsCurrentAirPressure, i_VehicleOwner);
                s_MyGarage.AddVehicleToGarage(newCar);
            }
        }
Ejemplo n.º 7
0
        private static void createVehicle(string i_VehicleModel, string i_LicencePlate, VehicleOwner i_VehicleOwner, eVehicles i_Vehicle)
        {
            bool isElectricVehicle;

            switch (i_Vehicle)
            {
            case eVehicles.Car:
                isElectricVehicle = false;
                createCar(isElectricVehicle, i_VehicleModel, i_LicencePlate, i_VehicleOwner, eVehicles.Car);
                break;

            case eVehicles.ElectricCar:
                isElectricVehicle = true;
                createCar(isElectricVehicle, i_VehicleModel, i_LicencePlate, i_VehicleOwner, eVehicles.ElectricCar);
                break;

            case eVehicles.Motorcycle:
                isElectricVehicle = false;
                createMotorcycle(isElectricVehicle, i_VehicleModel, i_LicencePlate, i_VehicleOwner, eVehicles.Motorcycle);
                break;

            case eVehicles.ElectricMotorcycle:
                isElectricVehicle = true;
                createMotorcycle(isElectricVehicle, i_VehicleModel, i_LicencePlate, i_VehicleOwner, eVehicles.ElectricMotorcycle);
                break;

            case eVehicles.Truck:
                isElectricVehicle = false;
                createTruck(isElectricVehicle, i_VehicleModel, i_LicencePlate, i_VehicleOwner, eVehicles.Truck);
                break;

            default:
                Console.WriteLine(MessagesEnglish.k_InvalidInputMessage);
                Console.WriteLine(MessagesEnglish.k_GoingBackToMainMenuMessage);
                Thread.Sleep(2000);
                break;
            }
        }