public void NotifyRoomUpdate(int id, Room room)
{
Application.Current.Dispatcher.BeginInvoke((ThreadStart)delegate()
{
var result = Rooms.FirstOrDefault(r => r.Id == id);
if (result != null)
{
result.Room = room;
}
else
{
Rooms.Add(new RoomViewModel() { Room = room });
}
if (CurrentRoom != null && CurrentRoom.Id == id)
{
CurrentRoom = new RoomViewModel() { Room = room };
}
});
}