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; } }
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; } }