public void AddOrReplace(Beacon beacon) { bool updated = false; for (int i = 0; i < BeaconDetailsCollection.Count; ++i) { if (BeaconDetailsCollection[i].Matches(beacon)) { BeaconDetailsCollection[i].Update(beacon); updated = true; break; } } if (!updated) { BeaconDetailsItem item = new BeaconDetailsItem(beacon); item.VendorName = ResolveVendor(beacon.Id1); BeaconDetailsCollection.Add(item); if (_updateBeaconTimesTimer == null) { _updateBeaconTimesTimer = new Timer(UpdateBeaconTimesAsync, null, 1000, 1000); } } }
public async void AddOrReplace(Beacon beacon) { bool updated = false; for (int i = 0; i < BeaconDetailsCollection.Count; ++i) { if (BeaconDetailsCollection[i].Matches(beacon)) { BeaconDetailsCollection[i].Update(beacon); updated = true; break; } } if (!updated) { BeaconDetailsItem item = new BeaconDetailsItem(beacon); await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Low, () => BeaconDetailsCollection.Add(item)); if (_updateBeaconTimesTimer == null) { _updateBeaconTimesTimer = new Timer(UpdateBeaconTimesAsync, null, 1000, 1000); } } }