import 'package:drift/drift.dart'; import '../database.dart'; class ClientiAgenteDao { final AppDatabase db; ClientiAgenteDao(this.db); Future findByClienteAgente(int idCliente, int idAgente) { return (db.select(db.clientiAgente) ..where((t) => t.idCliente.equals(idCliente) & t.idAgente.equals(idAgente)) ).getSingleOrNull(); } Future activateCustomer(int idCliente, int idAgente) async { final existing = await findByClienteAgente(idCliente, idAgente); if (existing != null) { await (db.update(db.clientiAgente)..where((t) => t.idClientiAgente.equals(existing.idClientiAgente))) .write(ClientiAgenteCompanion(attivo: const Value(1))); } else { await db.into(db.clientiAgente).insert(ClientiAgenteCompanion( idCliente: Value(idCliente), idAgente: Value(idAgente), attivo: const Value(1), )); } } Future deactivateAllCustomers(int idAgente) { return (db.update(db.clientiAgente)..where((t) => t.idAgente.equals(idAgente))) .write(ClientiAgenteCompanion(attivo: const Value(0))); } }