private void MaxConnector_MessageReceived(object sender, MessageReceivedEventArgs messageReceivedEventArgs) { _maxMerger.Merge(_maxCube, messageReceivedEventArgs.MaxMessage); var stateUpdatedEventArgs = new StateUpdatedEventArgs { Rooms = _maxCube.Rooms }; StateUpdated?.Invoke(this, stateUpdatedEventArgs); }
private void MaxConnectorOnStateUpdated(object sender, StateUpdatedEventArgs stateUpdatedEventArgs) { DispatcherHelper.CheckBeginInvokeOnUI(() => { foreach (var maxRoom in stateUpdatedEventArgs.Rooms) { var roomViewModel = Rooms.FirstOrDefault(model => model.MaxRoom.Id == maxRoom.Id); if (roomViewModel == null) { roomViewModel = new RoomViewModel(_maxConnector); Rooms.Add(roomViewModel); } roomViewModel.Update(maxRoom); } }); }