libriConsigliati property

List<Libro> get libriConsigliati

Restituisce una lista di libri consigliati dalla libreria. La lista viene generata casualmente e memorizzata in cache per migliorare le performance. Se la cache è scaduta o la lista dei libri è cambiata, viene rigenerata. Se la libreria è vuota, restituisce una lista vuota.

@return Una lista di Libro consigliati.

Implementation

List<Libro> get libriConsigliati {
  // Se la cache è nulla o la data è cambiata, rigenera la lista
  if (_cachedConsigliati == null ||
      _date == null ||
      _date!.isBefore(_today)) {
    _date = _today;
    _cachedConsigliati = _generaLibriConsigliati();
  }
  // Invalida la cache se la lista dei libri è cambiata (controlla la lunghezza)
  if (_cachedConsigliati!.length != libreria.getLibri().length) {
    _cachedConsigliati = _generaLibriConsigliati();
  }
  return _cachedConsigliati!;
}