/* Public Methods */
        public static void MakeNewVehicle(eVehicleType i_VehicleType, out Vehicle o_Vehicle)
        {
            o_Vehicle = null;

            switch (i_VehicleType)
            {
            case (eVehicleType.ElectricBasedMotorcycle):
                o_Vehicle = new ElectricBasedMotorcycle();
                break;

            case (eVehicleType.ElectricBasedCar):
                o_Vehicle = new ElectricBasedCar();
                break;

            case (eVehicleType.FuelBasedMotorcycle):
                o_Vehicle = new FuelBasedMotorcycle();
                break;

            case (eVehicleType.FuelBasedCar):
                o_Vehicle = new FuelBasedCar();
                break;

            case (eVehicleType.FuelBasedTruck):
                o_Vehicle = new FuelBasedTruck();
                break;

            default:
                break;
            }
        }
Example #2
0
        public static Vehicle CreateVehicle(Utilities.eTypeOfVehicle i_VehicleType, string i_ModelName, string i_NumberOfCarLicense, string i_NameOfManufacturer, float i_CurTirePressure)
        {
            Vehicle createdVehicle = null;

            switch (i_VehicleType)
            {
            case Utilities.eTypeOfVehicle.ElectricCar:
            {
                createdVehicle = new ElectricCar(i_ModelName, i_NumberOfCarLicense, i_NameOfManufacturer, i_CurTirePressure);
                break;
            }

            case Utilities.eTypeOfVehicle.ElectricMotorcycle:
            {
                createdVehicle = new ElectricMotorcycle(i_ModelName, i_NumberOfCarLicense, i_NameOfManufacturer, i_CurTirePressure);
                break;
            }

            case Utilities.eTypeOfVehicle.FuelBasedCar:
            {
                createdVehicle = new FuelBasedCar(i_ModelName, i_NumberOfCarLicense, i_NameOfManufacturer, i_CurTirePressure);
                break;
            }

            case Utilities.eTypeOfVehicle.FuelBasedMotorcycle:
            {
                createdVehicle = new FuelBasedMotorcycle(i_ModelName, i_NumberOfCarLicense, i_NameOfManufacturer, i_CurTirePressure);
                break;
            }

            case Utilities.eTypeOfVehicle.FuelBasedTruck:
            {
                createdVehicle = new FuelBasedTruck(i_ModelName, i_NumberOfCarLicense, i_NameOfManufacturer, i_CurTirePressure);
                break;
            }

            default:
            {
                throw new ArgumentException("Please enter a valid vehicle");
            }
            }

            return(createdVehicle);
        }
Example #3
0
        public static void GetSpecificVehicleInformtion(Vehicle i_Vehicle)
        {
            if (i_Vehicle is ElectricCar)
            {
                (i_Vehicle as ElectricCar).Color = Utilities.AskForSpecificVehicleDetailes(Utilities.eColor.Black, "what is the color of the vehicle?(type option number)");
                Console.Clear();
                (i_Vehicle as ElectricCar).DoorsNumber = Utilities.AskForSpecificVehicleDetailes(Utilities.eNumberOfDoors.Five, "How many doors? (type option number)");
                Console.Clear();
                Console.WriteLine("What is the current battery time?");
                string energy = Console.ReadLine();
                (i_Vehicle as ElectricCar).CurrentEnergyTime = ElectricBasedVehicle.CheckAndReturnEnergyTime(energy);
            }
            else if (i_Vehicle is FuelBasedCar)
            {
                (i_Vehicle as FuelBasedCar).Color = Utilities.AskForSpecificVehicleDetailes(Utilities.eColor.Black, "what is the color of the vehicle?");
                Console.Clear();
                (i_Vehicle as FuelBasedCar).DoorsNumber = Utilities.AskForSpecificVehicleDetailes(Utilities.eNumberOfDoors.Five, "How many doors? (type option number)");
                Console.Clear();
                Console.WriteLine("What is the current fuel amount?");
                string fuel = Console.ReadLine();
                (i_Vehicle as FuelBasedCar).CurrentFuelAmount = FuelBasedVehicle.CheckAndReturnFuel(fuel);
            }
            else if (i_Vehicle is ElectricMotorcycle)
            {
                (i_Vehicle as ElectricMotorcycle).LicenseType = Utilities.AskForSpecificVehicleDetailes(Utilities.eTypeOfLicense.A, "what is the license type?(type option number)");
                Console.Clear();
                Console.WriteLine("what is the engine max capacity?(type a number)");
                string capacity = Console.ReadLine();
                Console.Clear();
                (i_Vehicle as ElectricMotorcycle).EngineCapacity = ElectricMotorcycle.CheckAndReturnEngineCapacity(capacity);
                Console.Clear();
                Console.WriteLine("What is the current battery time?");
                string energy = Console.ReadLine();
                (i_Vehicle as ElectricMotorcycle).CurrentEnergyTime = ElectricBasedVehicle.CheckAndReturnEnergyTime(energy);
            }
            else if (i_Vehicle is FuelBasedMotorcycle)
            {
                (i_Vehicle as FuelBasedMotorcycle).LicenseType = Utilities.AskForSpecificVehicleDetailes(Utilities.eTypeOfLicense.A, "what is the license type?(type option number)");
                Console.Clear();
                Console.WriteLine("what is the engine max capacity?(type a number)");
                string capacity = Console.ReadLine();
                (i_Vehicle as FuelBasedMotorcycle).EngineCapacity = FuelBasedMotorcycle.CheckAndReturnEngineCapacity(capacity);
                Console.Clear();
                Console.WriteLine("What is the current fuel amount?");
                string fuel = Console.ReadLine();
                (i_Vehicle as FuelBasedMotorcycle).CurrentFuelAmount = FuelBasedVehicle.CheckAndReturnFuel(fuel);
            }
            else if (i_Vehicle is FuelBasedTruck)
            {
                Console.WriteLine("Is it carrying dangerous materials? type \"yes\" or \"no\"");
                string carrying = Console.ReadLine();

                while (carrying != "yes" && carrying != "no")
                {
                    Console.WriteLine("Wrong format, type \"yes\" or \"no\"");
                    carrying = Console.ReadLine();
                }

                (i_Vehicle as FuelBasedTruck).IsCarryingDangerousMaterials = carrying == "yes";
                Console.Clear();
                Console.WriteLine("what is it's maximum carrying weight (in kg)?");
                string maxWeight = Console.ReadLine();
                (i_Vehicle as FuelBasedTruck).MaximumCarryingWeight = FuelBasedTruck.CheckAndReturnMaximumCarryingWeight(maxWeight);
                Console.Clear();
                Console.WriteLine("What is the current fuel amount?");
                string fuel = Console.ReadLine();
                (i_Vehicle as FuelBasedTruck).CurrentFuelAmount = FuelBasedVehicle.CheckAndReturnFuel(fuel);
            }
        }