public static IParkingLotSearcher Create(ParkingBoyType type) { switch (type) { case ParkingBoyType.Junior: return(new JuniorParkingLotSearcher()); case ParkingBoyType.Senior: return(new SeniorParkingLotSearcher()); default: throw new ArgumentOutOfRangeException( nameof(type), type, "No such parking boy type."); } }
public ParkingBoy(List <ParkingLot> parkingLots, ParkingBoyType parkingBoyType = ParkingBoyType.None) { _parkingLots = parkingLots; _parkingBoyType = parkingBoyType; }
public ParkingBoy Assign(ParkingBoyType type) { var parkingLots = _parkingLotRepository.GetAllParkingLots(); return(new ParkingBoy(parkingLots, type)); }
public ParkingBoy(List <ParkingLot> parkingLots, ParkingBoyType type) { _parkingLots = parkingLots; _parkingLotSearcher = ParkingLotSearcherFactory.Create(type); }