| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import 'package:drift/drift.dart';
- import '../database.dart';
- class AgentiDao {
- final AppDatabase db;
- AgentiDao(this.db);
- Future<Agente?> findById(int id) {
- return (db.select(db.agenti)..where((t) => t.idAgente.equals(id))).getSingleOrNull();
- }
- Future<List<Agente>> listAll() {
- return (db.select(db.agenti)).get();
- }
- Future<Agente?> findByCode(String code) {
- return (db.select(db.agenti)..where((t) => t.codAgente.equals(code))).getSingleOrNull();
- }
- Future<Agente?> authenticate(String code, String password) {
- if (password.isEmpty) {
- return (db.select(db.agenti)..where((t) => t.codAgente.equals(code) & t.pwd.isNull())).getSingleOrNull();
- } else {
- return (db.select(db.agenti)..where((t) => t.codAgente.equals(code) & t.pwd.equals(password))).getSingleOrNull();
- }
- }
- Future<int> countAgenti() async {
- final rows = await db.select(db.agenti).get();
- return rows.length;
- }
- Future<int> insertAgente(AgentiCompanion entry) {
- return db.into(db.agenti).insert(entry);
- }
- Future<void> updateAgente(Agente agent) {
- return db.update(db.agenti).replace(agent);
- }
- Future<void> zapCodiceAgente(String code) {
- return (db.delete(db.agenti)..where((t) => t.codAgente.equals(code))).go();
- }
- Future<void> updateIdAgente(int oldId, int newId) {
- return (db.customStatement('update agenti set idAgente=$newId where idAgente=$oldId'));
- }
- }
|