private List <(List <Seat>, bool, DateTime)> GetResult(ISeatMonitoringApiClient seatMonitoringApiClient, int count, int interval) { var results = new List <(List <Seat>, bool, DateTime)>(); PeriodicNotifier.Destination destination = (List <Seat> seats, bool isSucceeded) => { results.Add((seats, isSucceeded, DateTime.Now)); }; var periodicNotifier = new PeriodicNotifier(destination, seatMonitoringApiClient, interval); periodicNotifier.Start(); while (results.Count < count) { Thread.Sleep(1000); } periodicNotifier.Stop(); return(results); }
public PeriodicNotifier(Destination destination, ISeatMonitoringApiClient seatMonitoringApiClient, int interval = 60 * 1000) { this.destination = destination; SeatMonitoringApiClient = seatMonitoringApiClient; this.interval = interval; }