public DataProvider(IDataLoader dataLoader) { this.dataLoader = dataLoader; ConnectedDevices = Observable.Interval(TimeSpan.FromSeconds(5)).Select(x => { var result = dataLoader.GetConnectedDevices().Result; var devices = result.ConnectedBeacons.Select(beacon => new DeviceIdentifier(Constants.BeaconGuid, Constants.MajorId, beacon.Id)).ToList(); Log.Debug("Received data", $"Received connected devices: {string.Join(";", devices)}"); return devices; }); }