checkAndSyncPendingCoordenadas method

Future<void> checkAndSyncPendingCoordenadas()

Implementation

Future<void> checkAndSyncPendingCoordenadas() async {
  final pendientes = await _dbHelper.getPendingUpdatesCoordenadas();

  for (var coord in pendientes) {
    try {
      final Map<String, dynamic> data = jsonDecode(coord['data']);
      bool enviado = false;

      if (data['action'] == 'delete') {
        enviado = await _eliminarDelServidor(data['delete_id']);
      } else {
        enviado = await _enviarAlServidor(data);
      }

      if (enviado) {
        await _dbHelper.deletePendingUpdateCoordenada(coord['id']);
        await _sendNotification(
          'Sincronización Exitosa',
          'Coordenada ${data['orden']} sincronizada correctamente.',
        );
      }
    } catch (e) {
      await _sendNotification(
        'Error al sincronizar',
        'No se pudo sincronizar una coordenada: $e',
      );
      break;
    }
  }
}