Exemple #1
0
        private async Task FetchDataFromAirly()
        {
            (var installations, var measurements) = await AirlyService.GetDataFromAirly();

            _airlyInstallations = installations;
            _airlyMeasurements  = measurements;
        }
Exemple #2
0
        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();
            }
        }