private async Task FetchDataFromAirly() { (var installations, var measurements) = await AirlyService.GetDataFromAirly(); _airlyInstallations = installations; _airlyMeasurements = measurements; }
public async Task TryFetchData() { bool saveData = false; if (_airlyInstallations.Count == 0) { await FetchDataFromAirly(); saveData = true; } else { var currentDateTime = DateTime.UtcNow; for (int i = 0; i < _airlyMeasurements.Count; i++) { var measurement = _airlyMeasurements[i]; if (measurement.Current.TillDateTime < currentDateTime) { var installation = measurement.Installation; var newMeasurement = await AirlyService.GetMeasurementFromAirly(installation.Id); newMeasurement.Installation = installation; _airlyMeasurements[i] = newMeasurement; saveData = true; } } } if (saveData) { await SaveDataInDatabase(); } }