public async Task SubscribeToRoomListAsync()
{
await _client.SubscribeAndWaitAsync("subscription", TimeoutToken).ConfigureAwait(false);
var roomCollection = GetRoomsCollection();
if (roomCollection == null)
{
_logger.Error("RoomCollection should not be null.");
return;
}
roomCollection.Modified += async (sender, args) =>
{
if (args.ModificationType == ModificationType.Added)
{
var room = args.Result;
await SubscribeToRoomInformationAsync(room.Name, room.Type).ConfigureAwait(false);
}
};
foreach (var room in roomCollection.Items().ToList().Select(x => x.Value))
{
await SubscribeToRoomInformationAsync(room.Name, room.Type).ConfigureAwait(false);
}
}