예제 #1
0
        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);
            }
        }