public void UnregisterObserver(IObserveReservedSeats observer) { lock (_syncObservers) { _observers.Remove(observer); } }
public async Task RegisterClient(IObserveReservedSeats observer) { if (!_started) { throw new InvalidOperationException( $"Must start the {nameof(ShowReservationsWatcher)} instance before being able to register any client."); } lock (_syncObservers) { _observers.Add(observer); } List <string> reservedSeats; lock (_syncList) { reservedSeats = _currentListOfReservedSeats; } await observer.Notify(reservedSeats); }