checkAndSyncPendingMonitoreos method
Future<void>
checkAndSyncPendingMonitoreos()
Implementation
Future<void> checkAndSyncPendingMonitoreos() async {
var connectivityResult = await Connectivity().checkConnectivity();
if (connectivityResult == ConnectivityResult.mobile ||
connectivityResult == ConnectivityResult.wifi) {
final pendingUpdates = await _dbHelper.getPendingUpdatesMonitoreo();
for (var update in pendingUpdates) {
final monitoreo = jsonDecode(update['data']);
bool apiSuccess = await _saveMonitoreoToApi(monitoreo);
if (apiSuccess) {
await _dbHelper.deletePendingUpdateMonitoreo(update['id']);
await _sendNotification(
'Sincronización Exitosa',
'Los monitoreos pendientes se han sincronizado exitosamente.',
);
} else {
await _sendNotification(
'Sincronización Fallida',
'No se pudo sincronizar los monitoreos pendientes.',
);
break;
}
}
} else {
await _sendNotification(
'Sin Conexión',
'No hay conexión a internet. No se pudieron sincronizar los monitoreos pendientes.',
);
}
}