public new ParkingTicket Park(Car car)
        {
            Printer printer = new Printer();

            if (car == null)
            {
                printer.PrintNullCarErrorMessage();
                return(null);
            }

            ManagedParkingLots.Sort((x, y) => y.GetCapacity() - y.GetCars().Count - (x.GetCapacity() - x.GetCars().Count));
            ParkingTicket parkingTicket = ManagedParkingLots[0].Park(car);

            if (parkingTicket != null)
            {
                UpdateProvidedParkingTicket(parkingTicket);
            }

            return(parkingTicket);
        }
 public ParkingBoy(string inputName, ParkingLot parkingLot1, ParkingLot parkingLot2)
 {
     this.name = inputName;
     ManagedParkingLots.Add(parkingLot1);
     ManagedParkingLots.Add(parkingLot2);
 }
Example #3
0
 private ParkingLot GetTheMostSpaceParkingLot()
 {
     return(ManagedParkingLots.OrderByDescending(p => p.GetAvailableSpace()).First());
 }