uploadDetalle method
Implementation
Future<bool> uploadDetalle(Map<String, dynamic> detalle) async {
try {
final prefs = await SharedPreferences.getInstance();
final token = prefs.getString('token');
if (token == null) return false;
final uri = Uri.parse(apiUrl);
final response = await http.post(
uri,
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer $token',
},
body: jsonEncode(detalle),
);
// Aceptar 200 o 201 como éxito
if (response.statusCode == 200 || response.statusCode == 201) {
print('✅ Detalle sincronizado con éxito');
return true;
} else {
print('❌ Error en la API: ${response.statusCode}, ${response.body}');
await _sendNotification(
'Error de Sincronización',
'Código: ${response.statusCode}',
);
return false;
}
} catch (e) {
print('❌ Error en uploadDetalle: $e');
await _sendNotification(
'Error de Sincronización',
'Error: $e',
);
return false;
}
}