customer_manager.dart 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. import '../database/daos/clienti_dao.dart';
  2. import '../database/daos/clienti_agente_dao.dart';
  3. import '../database/database.dart';
  4. class CustomerManager {
  5. final ClientiDao _clientiDao;
  6. final ClientiAgenteDao _clientiAgenteDao;
  7. CustomerManager(this._clientiDao, this._clientiAgenteDao);
  8. Cliente createCustomer(int idAgente) {
  9. return Cliente(idCliente: 0, stato: 'N', attivo: 1, noteOrdine: '');
  10. }
  11. Future<void> saveCustomer(Cliente cliente, int idAgente) async {
  12. final db = _clientiDao.db;
  13. if (cliente.idCliente! > 0) {
  14. await db.update(db.clienti).replace(cliente);
  15. } else {
  16. final id = await db.into(db.clienti).insert(cliente);
  17. await _clientiAgenteDao.activateCustomer(id, idAgente);
  18. }
  19. }
  20. Future<int> countCustomersToSend(int idAgente) =>
  21. _clientiDao.countCustomersToSend();
  22. Future<int> countNewCustomers() => _clientiDao.countNewCustomers();
  23. Future<List<Cliente>> getInactiveCustomers(int idAgente) {
  24. final since = DateTime.now().subtract(const Duration(days: 92));
  25. return _clientiDao.inactiveCustomers(idAgente, since.toIso8601String());
  26. }
  27. }