private async void BulbManager_LampUpdated(object sender, LampUpdatedEventArgs e) { if (e.AppId == viewmodel.ID && e.DeviceName == viewmodel.Name) { await viewmodel.Update(); } }
private async void BulbManager_LampUpdated(object sender, LampUpdatedEventArgs e) { await bulbViewModelLock.WaitAsync(); try { DisplayLampViewModel found = this.Bulbs.FirstOrDefault(b => b.ID == e.AppId && b.Name == e.DeviceName); if (found != null) { await found.Update(); return; } await AddNewBulb(e.AppId, e.DeviceName); } finally { bulbViewModelLock.Release(); } }