internal static VehicleGarageCard CreateFirstCard( string i_OwnerName, string i_OwnerPhone, string i_ModelName, string i_LicenseNumber, string i_WheelManufacturerName, eVehiclesType i_VehicleType) { Vehicle toReturn; switch (i_VehicleType) { case eVehiclesType.ElectricMotorcycle: case eVehiclesType.FuelBasedMotorcycle: toReturn = new MotorCycle(i_ModelName, i_LicenseNumber, i_WheelManufacturerName, i_VehicleType); break; case eVehiclesType.ElectricCar: case eVehiclesType.FuelBasedCar: toReturn = new RegularCar(i_ModelName, i_LicenseNumber, i_WheelManufacturerName, i_VehicleType); break; default: toReturn = new Truck(i_ModelName, i_LicenseNumber, i_WheelManufacturerName, i_VehicleType); break; } VehicleGarageCard cardToReturn = new VehicleGarageCard(i_OwnerName, i_OwnerPhone, toReturn); return(cardToReturn); }
private void addNewVehicle() { Console.Clear(); // print - "insert license number" string licenseNumber = Console.ReadLine(); // print - "choose vehicle type" showManuOfVehicles(); eVehiclesType vehicleType = (eVehiclesType)getChoiceFromUser(); Owner owner = getOwnerFromUser(); //create new car r_Garage.AddNewCar(licenseNumber, vehicleType, owner); List <string> parameters = r_Garage.GetParameters(licenseNumber); List <string> inputsFromUser = new List <string>(parameters.Count); foreach (string question in parameters) { Console.Write(string.Format("{0} ", question)); inputsFromUser.Add(Console.ReadLine()); } r_Garage.SetVehicleData(licenseNumber, inputsFromUser); Console.WriteLine("Vehicle added successfuly"); }
public Vehicle CreateNewVehicle(string i_LicenseNumber, eVehiclesType i_VehicleType) { Vehicle vehicle; switch (i_VehicleType) { case eVehiclesType.GasCar: { vehicle = new Car(i_LicenseNumber, new GasEngine()); break; } case eVehiclesType.ElectricCar: { vehicle = new Car(i_LicenseNumber, new ElectricEngine()); break; } case eVehiclesType.GasMotorcycle: { vehicle = new Motorcycle(i_LicenseNumber, new GasEngine()); break; } case eVehiclesType.ElectricMotorcycle: { vehicle = new Motorcycle(i_LicenseNumber, new ElectricEngine()); break; } case eVehiclesType.Truck: { vehicle = new Truck(i_LicenseNumber, new GasEngine()); break; } default: { vehicle = null; break; } } return(vehicle); }
public void AddNewCar(string i_LicesnseNumber, eVehiclesType i_VehicleType, Owner i_Owner) { bool isExists = m_VehiclesInfo.ContainsKey(i_LicesnseNumber); if (string.IsNullOrEmpty(i_LicesnseNumber)) { throw new CarWithoutLisenceNumberException(i_Owner); } else if (isExists) { Console.WriteLine("Vehicle license-number {0} already exist", i_LicesnseNumber); ChangeVeichleStatus(i_LicesnseNumber, eVehicleStatus.InRepair); } else { Vehicle vehicle = m_VehiclesCreator.CreateNewVehicle(i_LicesnseNumber, i_VehicleType); VehicleInfoInGarage newVehicle = new VehicleInfoInGarage(i_Owner, vehicle); m_VehiclesInfo.Add(i_LicesnseNumber, newVehicle); } }
public static Vehicle CreateVehicle(string i_LicensePlate, string i_ModelName, string i_WheelManufacturer, EngineType.eEnergySource i_EnergySource, eVehiclesType i_VehiclesType, float i_CurrentAirPressure, float i_CurrentEnergyAmount) { Vehicle newVehicle = null; switch (i_VehiclesType) { case eVehiclesType.Car: newVehicle = new Car(i_ModelName, i_LicensePlate, i_EnergySource, i_WheelManufacturer, i_CurrentAirPressure, i_CurrentEnergyAmount); break; case eVehiclesType.Motorcycle: newVehicle = new Motorcycle(i_ModelName, i_LicensePlate, i_EnergySource, i_WheelManufacturer, i_CurrentAirPressure, i_CurrentEnergyAmount); break; case eVehiclesType.Truck: newVehicle = new Truck(i_ModelName, i_LicensePlate, i_WheelManufacturer, i_CurrentAirPressure, i_CurrentEnergyAmount); break; } return(newVehicle); }