public override string ParkCar(Car car) { if (car == null) { return("wrong car"); } var usableLot = ParkingLots.Aggregate((current, next) => current.AvailablePositionRate >= next.AvailablePositionRate ? current : next); if (usableLot != null) { var ticket = usableLot.AddCarGetTicket(car); return(ticket); } return("Not enough position"); }