pagamenti_dao.dart 859 B

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