Beispiel #1
0
        public void DisplayAllSlots(ParkingSlot parkingslot)
        {
            Console.WriteLine("\n\n******************  Parking Alloment Display  ******************");
            Console.WriteLine("Two Wheeler Parking Empty Slots   = " + parkingslot.GetNumberOfTwoWheelerParked());
            Console.WriteLine("Four Wheeler Parking Empty Slots  = " + parkingslot.GetNumberOfFourWheelerParked());
            Console.WriteLine("Other Vehicle Parking Empty Slots = " + parkingslot.GetNumberOfOtherVehicleParked());
            List <Vehicle> vehicleList = parkingslot.GetVehicleList();

            foreach (Vehicle vehicle in vehicleList)
            {
                Console.WriteLine("\nslot {0}\nVehicleType {1}\tVehicle no. {2} ", vehicleList.IndexOf(vehicle) + 1, vehicle.GetVehicleType(), vehicle.GetVehicleNumber());
            }
            Console.WriteLine("\n\n");
        }
Beispiel #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;
            }
        }