parametri_dao.dart 783 B

123456789101112131415161718192021222324252627
  1. import 'package:drift/drift.dart';
  2. import '../database.dart';
  3. import '../tables/parametri.dart';
  4. class ParametriDao {
  5. final AppDatabase db;
  6. ParametriDao(this.db);
  7. Future<Parametro?> findByNome(String nome) {
  8. return (db.select(db.parametri)..where((t) => t.nome.equals(nome))).getSingleOrNull();
  9. }
  10. Future<String?> read(String nome) async {
  11. final p = await findByNome(nome);
  12. return p?.valore;
  13. }
  14. Future<void> set(String nome, String valore) async {
  15. final existing = await findByNome(nome);
  16. if (existing != null) {
  17. await (db.update(db.parametri)..where((t) => t.nome.equals(nome)))
  18. .write(Parametro(valore: valore, nome: nome));
  19. } else {
  20. await db.into(db.parametri).insert(Parametro(nome: nome, valore: valore));
  21. }
  22. }
  23. }