public static Car CreateCar(eEngineTypes i_EngineType, string i_Model, string i_LicenseNumber, int i_NumberOfDoors, eVehicleColors i_Color, string i_WheelManufacturer) { Engine newEngine = null; Car newCar = null; float energyCapacity = 0; eFuelTypes fuelType = eFuelTypes.None; float k_WheelMaxAirPressure = 32; int k_AmountOfWheels = 4; switch (i_EngineType) { case eEngineTypes.ElectricVehicle: { energyCapacity = 3.2f; break; } case eEngineTypes.FuelVehicle: { energyCapacity = 45; fuelType = eFuelTypes.Octan98; break; } } newEngine = EngineFactory.CreateEngine(i_EngineType, energyCapacity, fuelType); newCar = new Car(newEngine, i_Model, i_LicenseNumber, i_NumberOfDoors); newCar.Wheels = WheelsFactory.CreateWheels(k_AmountOfWheels, k_WheelMaxAirPressure, i_WheelManufacturer); newCar.VehicleColor = i_Color; return(newCar); }
public static Motorcycle CreateMotorCycle(eEngineTypes i_EngineType, string i_Model, string i_LicenseNumber, int i_EngineVolume, eLicenseTypes i_LicenseType, string i_WheelManufacturer) { float energyCapacity = 0; eFuelTypes fuelType = eFuelTypes.None; float k_WheelMaxAirPressure = 30; int k_AmountOfWheels = 2; switch (i_EngineType) { case eEngineTypes.ElectricVehicle: { energyCapacity = 1.8f; break; } case eEngineTypes.FuelVehicle: { energyCapacity = 6; fuelType = eFuelTypes.Octan96; break; } } Engine newEngine = EngineFactory.CreateEngine(i_EngineType, energyCapacity, fuelType); Motorcycle newMotorCycle = new Motorcycle(newEngine, i_Model, i_LicenseNumber, i_EngineVolume); newMotorCycle.Wheels = WheelsFactory.CreateWheels(k_AmountOfWheels, k_WheelMaxAirPressure, i_WheelManufacturer); newMotorCycle.LicenseType = i_LicenseType; return(newMotorCycle); }
private void checkIfFillable(Vehicle i_Vehicle, eEngineTypes i_RequestedEngine) { if (i_Vehicle.GetEngineType() != i_RequestedEngine) { string errorMessage = string.Format("Cant fill energy to vehicle with lisence number: {0} because it's engine is not compatible!", i_Vehicle.LicenseNumber); throw new ArgumentException(errorMessage); } }
private void refuelEngineAUX(eEngineTypes i_EngineType, string i_LicensePlate, float i_AmountToAdd) { if (i_EngineType == eEngineTypes.Electrical) { rechargeElectricEngine(i_LicensePlate, i_AmountToAdd); } else { refuelGasEngine(i_LicensePlate, i_AmountToAdd); } }
public Car( OwnerInfo i_Owner, string i_ModelName, string i_LicenseNumber, float i_MaxEnergyCapacity, eColors i_Color, eNumberOfDoors i_NumOfDoors, eEngineTypes i_EngineType) : base(i_Owner, i_ModelName, i_LicenseNumber, i_MaxEnergyCapacity, k_MaxAirPressure, k_NumberOfWheels, i_EngineType) { r_Color = i_Color; r_NumberOfDoors = i_NumOfDoors; }
public Motorcycle( OwnerInfo i_Owner, string i_ModelName, string i_LicenseNumber, float i_MaxEnergyCapacity, eLicenseTypes i_LicenseType, int i_EngineCapacity, eEngineTypes i_EngineType) : base(i_Owner, i_ModelName, i_LicenseNumber, i_MaxEnergyCapacity, k_MaxAirPressure, k_NumberOfWheels, i_EngineType) { r_LicenseType = i_LicenseType; r_EngineCapacity = i_EngineCapacity; }
private Car getDataForCreateCar(eEngineTypes i_EngineType, string i_LicenseNumber) { string model; int numberOfDoors; eVehicleColors color; string wheelsManufacturer; getModel(out model); getWheelsManufacturer(out wheelsManufacturer); getValidNumberOfDoors(out numberOfDoors); getValidColor(out color); return(VehicleFactory.CreateCar(i_EngineType, model, i_LicenseNumber, numberOfDoors, color, wheelsManufacturer)); }
private Motorcycle getDataForCreateMotorycle(eEngineTypes i_EngineType, string i_LicenseNumber) { string model; int engineVolume; eLicenseTypes licenseType; string wheelsManufacturer; getModel(out model); getValidEngineVolume(out engineVolume); getWheelsManufacturer(out wheelsManufacturer); getLicenseType(out licenseType); return(VehicleFactory.CreateMotorCycle(i_EngineType, model, i_LicenseNumber, engineVolume, licenseType, wheelsManufacturer)); }
public Truck(string i_LicensePlate, eEngineTypes i_EngineType) : base(i_LicensePlate, i_EngineType) { switch (i_EngineType) { case eEngineTypes.Fuel: SetWheels((int)eRegularTruck.Wheels, (float)eRegularTruck.MaxAirPressure); ((Fuel)Engine).FuelType = (eFuelTypes)eRegularTruck.FuelType; ((Fuel)Engine).MaxFuelTank = (float)eRegularTruck.FuelCapacity; break; default: break; } }
public Vehicle(string i_LicensePlate, eEngineTypes i_Engine) { m_LicensePlate = i_LicensePlate; if (i_Engine.Equals(eEngineTypes.Fuel)) { m_Engine = new Fuel(); m_Engine.EngineType = eEngineTypes.Fuel; } else { m_Engine = new Electric(); m_Engine.EngineType = eEngineTypes.Electric; } }
public Vehicle( OwnerInfo i_Owner, string i_ModelName, string i_LicenseNumber, float i_MaxEnergyCapacity, float i_MaxAirPressure, byte i_NumOfWheels, eEngineTypes i_EngineType) { r_LicenseNumber = i_LicenseNumber; r_Model = i_ModelName; r_NumOfWheels = i_NumOfWheels; r_MaxAirPressure = i_MaxAirPressure; allocateWheels(); m_Engine = new VehicleEngine(i_MaxEnergyCapacity, i_EngineType); m_Status = eVehicleStatus.BeingFixed; m_Owner.Name = i_Owner.Name; m_Owner.PhoneNumber = i_Owner.PhoneNumber; }
public Car(string i_LicensePlate, eEngineTypes i_EngineType) : base(i_LicensePlate, i_EngineType) { switch (i_EngineType) { case eEngineTypes.Fuel: SetWheels((int)eFuelCar.Wheels, (float)eFuelCar.MaxAirPressure); ((Fuel)Engine).FuelType = (eFuelTypes)eFuelCar.FuelType; ((Fuel)Engine).MaxFuelTank = (float)eFuelCar.FuelCapacity; break; case eEngineTypes.Electric: SetWheels((int)eElectricCar.Wheels, (float)eElectricCar.MaxAirPressure); ((Electric)Engine).MaxBatteryDuration = (float)eElectricCar.MaxBatteryDuration; break; default: break; } }
private void refuelEngine(eEngineTypes i_EngineType) { bool isInputValid = false; string licensePlate; string userInput; float amountToAdd = 0; Console.WriteLine(Messages.s_AskForLicense); licensePlate = Console.ReadLine(); Console.WriteLine(Messages.s_GetAmountToAdd); userInput = Console.ReadLine(); isInputValid = float.TryParse(userInput, out amountToAdd); while (!isInputValid || amountToAdd <= k_Empty) { Console.WriteLine(Messages.s_NotValidInput); userInput = Console.ReadLine(); isInputValid = float.TryParse(userInput, out amountToAdd); } refuelEngineAUX(i_EngineType, licensePlate, amountToAdd); }
public static Engine CreateEngine(eEngineTypes i_EngineType, float i_EnergyCapacity, eFuelTypes i_FuelType = eFuelTypes.None) { Engine newEngine = null; switch (i_EngineType) { case eEngineTypes.ElectricVehicle: { newEngine = createElectricEngine(i_EnergyCapacity); break; } case eEngineTypes.FuelVehicle: { newEngine = createFuelEngine(i_FuelType, i_EnergyCapacity); break; } } return(newEngine); }
public static Vehicle GetVehicle(string i_VehicleType, string i_EngineType, string i_LicensePlate) { Vehicle vehicle = null; eVehiclesTypes vehicleType = (eVehiclesTypes)Enum.Parse(typeof(eVehiclesTypes), i_VehicleType); eEngineTypes engineType = (eEngineTypes)Enum.Parse(typeof(eEngineTypes), i_EngineType); switch (vehicleType) { case eVehiclesTypes.Car: vehicle = new Car(i_LicensePlate, engineType); break; case eVehiclesTypes.Motorcycle: vehicle = new Motorcycle(i_LicensePlate, engineType); break; case eVehiclesTypes.Truck: vehicle = new Truck(i_LicensePlate, engineType); break; } return(vehicle); }
public VehicleEngine(float i_MaxEnergyCapacity, eEngineTypes i_EngineType) { r_MaxEnergyCapacity = i_MaxEnergyCapacity; r_Type = i_EngineType; }