private void addVehicleToGarage() { Console.Clear(); string licensePlateStr = licensePlateInput(); checkBackToMainMenu(licensePlateStr); if (m_GarageModel.IsVehicleInGarage(licensePlateStr)) { m_GarageModel.ChangeVehicleStatus(licensePlateStr, VehicleInGarage.eStatus.InRepair); Console.WriteLine("There is already vehicle with this license plate in the garage, his status changed to InRepair now."); System.Threading.Thread.Sleep(3000); } else // new vehicle { // preparing the vehicle VehicleInGarage vehicleInGarageToAdd; VehicleOwner ownerInfo; Vehicle vehicleInfo = null; ownerInfo = ownerInput(); vehicleInfo = vehicleInput(licensePlateStr); // Create specific vehicle properties: if (vehicleInfo is Car) { carProperties(vehicleInfo as Car); } else if (vehicleInfo is Motorcycle) { motorcycleProperties(vehicleInfo as Motorcycle); } else // truck { truckProperties(vehicleInfo as Truck); } // Add the vehicle to the garage: vehicleInGarageToAdd = new VehicleInGarage(ownerInfo, vehicleInfo); m_GarageModel.AddVehical(vehicleInGarageToAdd); Console.WriteLine("Vehicle added successfully."); System.Threading.Thread.Sleep(2500); } }