/* 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; } }
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); }
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); } }