| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import 'package:drift/drift.dart';
- import '../database.dart';
- import '../tables/listini.dart';
- import '../tables/listini_articolo.dart';
- import '../tables/listini_cliente.dart';
- class ListiniDao {
- final AppDatabase db;
- ListiniDao(this.db);
- Future<List<Listino>> list() {
- return (db.select(db.listini)
- ..where((t) =>
- t.codListino.like('OF2').not() &
- t.codListino.like('OF4').not() &
- t.codListino.like('I0').not()
- )
- ..orderBy([(t) => OrderingTerm(expression: t.descrizione)])
- ).get();
- }
- Future<List<Listino>> listSenzaFiltro() {
- return (db.select(db.listini)..orderBy([(t) => OrderingTerm(expression: t.descrizione)])).get();
- }
- Future<Listino?> findByCod(String code) {
- return (db.select(db.listini)..where((t) => t.codListino.equals(code))).getSingleOrNull();
- }
- Future<ListinoArticolo?> findListinoArticolo(int idListino, int idArticolo) {
- return (db.select(db.listiniArticolo)
- ..where((t) => t.idListino.equals(idListino) & t.idArticolo.equals(idArticolo))
- ).getSingleOrNull();
- }
- Future<ListinoCliente?> getListinoCliente(int idCliente, int idArticolo, String date) {
- return (db.select(db.listiniCliente)
- ..where((t) =>
- t.idCliente.equals(idCliente) &
- t.idArticolo.equals(idArticolo) &
- (t.attivo.equals(1)) &
- (t.annullato.equals('N'))
- )
- ..orderBy([(t) => OrderingTerm(expression: t.validoDa, mode: OrderingMode.desc)])
- ..limit(1)
- ).getSingleOrNull();
- }
- }
|