private async Task UpdateCardsAsync() { try { bool hasConnection = await CheckInternetConnectionAsync(); if (!hasConnection) { Snackbar.Make(FindViewById(Resource.Id.main_content), "No internet connection.", Snackbar.LengthShort).Show(); CallOnReconnect(async delegate { await UpdateCardsAsync(); }); return; } GeoCoords geoCoords = new GeoCoords { Latitude = solarNetwork.Latitude, Longitude = solarNetwork.Longtitude }; PVSystemInfo systemInfo = await PVSystemInfo.FromDBAsync(db, solarNetwork.ID); UpdatePVSystemInfo(systemInfo); WeatherInfo weatherInfo = await weatherProvider.GetWeatherInfoAsync(geoCoords); UpdateWeatherInfoView(weatherInfo); ConsumerInfo consumerInfo = await ConsumerInfo.FromDBAsync(db, solarNetwork.ID); UpdateConsumerInfo(consumerInfo); SystemSummary arraySummary = await GetArraySummaryAsync(weatherInfo); UpdateArraySummary(arraySummary, consumerInfo); } catch (Exception e) { Log.Error(ToString(), e.ToString()); } }