Interface AttivazioneRepository

All Superinterfaces:
org.springframework.data.repository.CrudRepository<AttivazioneEntity, AttivazioneID>, org.springframework.data.jpa.repository.JpaRepository<AttivazioneEntity, AttivazioneID>, org.springframework.data.repository.ListCrudRepository<AttivazioneEntity, AttivazioneID>, org.springframework.data.repository.ListPagingAndSortingRepository<AttivazioneEntity, AttivazioneID>, org.springframework.data.repository.PagingAndSortingRepository<AttivazioneEntity, AttivazioneID>, org.springframework.data.repository.query.QueryByExampleExecutor<AttivazioneEntity>, org.springframework.data.repository.Repository<AttivazioneEntity, AttivazioneID>

public interface AttivazioneRepository extends org.springframework.data.jpa.repository.JpaRepository<AttivazioneEntity, AttivazioneID>
Repository JPA per la gestione dell'entità AttivazioneEntity.

Fornisce metodi per interrogare il database riguardo ai moduli attivi per azienda, identificare moduli disponibili per l'acquisto e verificare lo stato di attivazione.

Since:
1.1.0
Version:
2.0.1
Author:
Modulink Team
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Verifica se esiste un'attivazione specifica per una coppia Azienda-Modulo.
    Recupera tutti i moduli visibili che NON sono ancora stati acquistati dall'azienda specificata.
    Recupera tutti i moduli visibili che sono stati già acquistati dall'azienda specificata.

    Methods inherited from interface org.springframework.data.repository.CrudRepository

    count, delete, deleteAll, deleteAll, deleteAllById, deleteById, existsById, findById, save

    Methods inherited from interface org.springframework.data.jpa.repository.JpaRepository

    deleteAllByIdInBatch, deleteAllInBatch, deleteAllInBatch, deleteInBatch, findAll, findAll, flush, getById, getOne, getReferenceById, saveAllAndFlush, saveAndFlush

    Methods inherited from interface org.springframework.data.repository.ListCrudRepository

    findAll, findAllById, saveAll

    Methods inherited from interface org.springframework.data.repository.ListPagingAndSortingRepository

    findAll

    Methods inherited from interface org.springframework.data.repository.PagingAndSortingRepository

    findAll

    Methods inherited from interface org.springframework.data.repository.query.QueryByExampleExecutor

    count, exists, findAll, findBy, findOne
  • Method Details

    • getAllNotPurchased

      @Query("SELECT m FROM ModuloEntity m WHERE m NOT IN (SELECT a.modulo FROM AttivazioneEntity a WHERE a.azienda = :azienda) AND m.Visible = true") List<ModuloEntity> getAllNotPurchased(@Param("azienda") AziendaEntity azienda)
      Recupera tutti i moduli visibili che NON sono ancora stati acquistati dall'azienda specificata. Utile per popolare il marketplace o la vetrina acquisti.
      Parameters:
      azienda - L'azienda per cui verificare la disponibilità.
      Returns:
      Lista di ModuloEntity acquistabili.
      Since:
      1.2.0
    • getAllPurchased

      @Query("SELECT m FROM ModuloEntity m WHERE m IN (SELECT a.modulo FROM AttivazioneEntity a WHERE a.azienda = :azienda) AND m.Visible = true") List<ModuloEntity> getAllPurchased(@Param("azienda") AziendaEntity azienda)
      Recupera tutti i moduli visibili che sono stati già acquistati dall'azienda specificata.
      Parameters:
      azienda - L'azienda proprietaria.
      Returns:
      Lista di ModuloEntity già posseduti.
      Since:
      1.2.0
    • existsByAziendaAndModulo

      boolean existsByAziendaAndModulo(AziendaEntity azienda, ModuloEntity modulo)
      Verifica se esiste un'attivazione specifica per una coppia Azienda-Modulo.
      Parameters:
      azienda - L'azienda da verificare.
      modulo - Il modulo da verificare.
      Returns:
      true se l'attivazione esiste, false altrimenti.
      Since:
      1.1.0