public void SelectOption(int choice, ParkingSlot parkingSlot)
        {
            switch (choice)
            {
            case 1:
                VehicleType vehicle;
                string      vehicleNumber = ReadVehicleDetail(out vehicle);
                while (vehicle == VehicleType.NONE)
                {
                    vehicleNumber = ReadVehicleDetail(out vehicle);
                }
                if (!parkingSlot.ParkVehicle(vehicle, vehicleNumber))
                {
                    Error(1);
                }
                break;

            case 2:
                VehicleType vehicle2;
                string      vehicleNumber2 = ReadVehicleDetail(out vehicle2);
                while (vehicle2 == VehicleType.NONE)
                {
                    vehicleNumber2 = ReadVehicleDetail(out vehicle2);
                }
                if (!parkingSlot.UnParkVehicle(vehicle2, vehicleNumber2))
                {
                    Error(2);
                }
                break;

            case 3:
                DisplayAllSlots(parkingSlot);
                break;

            default:
                Console.WriteLine("Invalid Choice");
                break;
            }
        }
Exemple #2
0
        public void SelectOption(int choice, ParkingSlot parkingSlot)
        {
            VehicleType vehicleType;
            string      vehicleNumber;

            switch (choice)
            {
            case 1:
                vehicleNumber = ReadVehicleDetail(out vehicleType);
                while (vehicleType == VehicleType.NONE)
                {
                    vehicleNumber = ReadVehicleDetail(out vehicleType);
                }
                if (parkingSlot.GetNumberOfTwoWheelerParked() < TwoWheelerCapacity && vehicleType == VehicleType.TWO_WHEELER)
                {
                    TwoWheelerCapacity++;
                    parkingSlot.ParkVehicle(vehicleType, vehicleNumber);
                }
                else if (parkingSlot.GetNumberOfFourWheelerParked() < FourWheelerCapacity && vehicleType == VehicleType.FOUR_WHEELER)
                {
                    FourWheelerCapacity++;
                    parkingSlot.ParkVehicle(vehicleType, vehicleNumber);
                }
                else if (parkingSlot.GetNumberOfOtherVehicleParked() < OtherVehicleCapacity && vehicleType == VehicleType.OTHER)
                {
                    OtherVehicleCapacity++;
                    parkingSlot.ParkVehicle(vehicleType, vehicleNumber);
                }
                else
                {
                    Error(SLOT_FULL_ERROR);
                }
                break;

            case 2:
                vehicleNumber = ReadVehicleDetail(out vehicleType);
                bool unParked = false;
                while (vehicleType == VehicleType.NONE)
                {
                    vehicleNumber = ReadVehicleDetail(out vehicleType);
                }
                List <Vehicle> vehicleList = parkingSlot.GetVehicleList();
                foreach (Vehicle vehicle in vehicleList)
                {
                    if (vehicle.GetVehicleType().Equals(vehicleType) && vehicle.GetVehicleNumber().Equals(vehicleNumber))
                    {
                        parkingSlot.UnParkVehicle(vehicleType, vehicleNumber);
                        unParked = true;
                    }
                }
                if (!unParked)
                {
                    Error(VEHICLE_NOT_FOUND_ERROR);
                }
                break;

            case 3:
                DisplayAllSlots(parkingSlot);
                break;

            default:
                Console.WriteLine("Invalid Choice");
                break;
            }
        }