scadenze_dao.dart 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import 'package:drift/drift.dart';
  2. import '../database.dart';
  3. class ScadenzeDao {
  4. final AppDatabase db;
  5. ScadenzeDao(this.db);
  6. Future<List<Scadenza>> getScadenzeCliente(int idCliente) {
  7. return (db.select(db.scadenze)..where((t) => t.idCliente.equals(idCliente)))
  8. .get();
  9. }
  10. Future<List<VScadenzeData>> getScadenzePerAgente(int idAgente) {
  11. return (db.select(db.vScadenze)
  12. ..where((t) =>
  13. t.idAgente.equals(idAgente) &
  14. (t.flgSoppressa.equals(0) | t.flgSoppressa.isNull())))
  15. .get();
  16. }
  17. Future<void> removeDeleted() {
  18. return (db.delete(db.scadenze)..where((t) => t.stato.equals('X'))).go();
  19. }
  20. Future<int> insertScadenza(Scadenza s) {
  21. return db.into(db.scadenze).insert(s);
  22. }
  23. Future<void> clearAll() {
  24. return db.delete(db.scadenze).go();
  25. }
  26. Future<void> markAllAsDeleted(int idAgente) async {
  27. final sql =
  28. "update scadenze set stato='X' where idcliente in (select idcliente from clienti_Agente where idagente=$idAgente)";
  29. await db.executor.runCustom(sql);
  30. }
  31. }