pagamenti_dao.dart 855 B

123456789101112131415161718192021222324252627282930313233
  1. import 'package:drift/drift.dart';
  2. import '../database.dart';
  3. import '../tables/pagamenti.dart';
  4. class PagamentiDao {
  5. final AppDatabase db;
  6. PagamentiDao(this.db);
  7. Future<Pagamento?> findByCod(String code) {
  8. return (db.select(db.pagamenti)..where((t) => t.codPagamento.equals(code))).getSingleOrNull();
  9. }
  10. Future<List<Pagamento>> search(String filter) {
  11. final pattern = '%$filter%';
  12. return (db.select(db.pagamenti)
  13. ..where((t) => t.descrizione.like(pattern) | t.codPagamento.like(pattern))
  14. ).get();
  15. }
  16. Future<List<Pagamento>> searchActive() {
  17. return (db.select(db.pagamenti)
  18. ..where((t) => t.attivo.equals(1) | t.attivo.isNull())
  19. ).get();
  20. }
  21. Future<int> insert(Pagamento p) {
  22. return db.into(db.pagamenti).insert(p);
  23. }
  24. Future<void> clearAll() {
  25. return db.delete(db.pagamenti).go();
  26. }
  27. }