Пример #1
0
 public void UnregisterObserver(IObserveReservedSeats observer)
 {
     lock (_syncObservers)
     {
         _observers.Remove(observer);
     }
 }
Пример #2
0
        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);
        }