86 lines
3.0 KiB
C#
86 lines
3.0 KiB
C#
namespace EgwCoreLib.Lux.Data.Repository.Admin
|
|
{
|
|
public interface IVocabolarioRepository
|
|
{
|
|
#region Public Methods
|
|
|
|
/// <summary>
|
|
/// Inserisce un nuovo record Vocabolario nel database.
|
|
/// </summary>
|
|
/// <param name="entity">Record da inserire</param>
|
|
Task<bool> AddAsync(VocabolarioModel entity);
|
|
|
|
/// <summary>
|
|
/// Clona un vocabolario data lingua origine/destinazione
|
|
/// </summary>
|
|
/// <param name="linguaOrig"></param>
|
|
/// <param name="linguaDest"></param>
|
|
/// <returns></returns>
|
|
Task<bool> CloneAsync(string linguaOrig, string linguaDest);
|
|
|
|
/// <summary>
|
|
/// Elimina un record Vocabolario dal database.
|
|
/// </summary>
|
|
/// <param name="entity">Record da eliminare</param>
|
|
Task<bool> DeleteAsync(VocabolarioModel entity);
|
|
|
|
/// <summary>
|
|
/// Recupero l'intero Vocabolario di tutte le lingue x successivo grouping
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
Task<List<VocabolarioModel>> GetAllAsync();
|
|
|
|
/// <summary>
|
|
/// Recupera una riga Vocabolario specifico data key lingua/lemma
|
|
/// </summary>
|
|
/// <param name="lingua"></param>
|
|
/// <param name="lemma"></param>
|
|
/// <returns></returns>
|
|
Task<VocabolarioModel?> GetByIdAsync(string lingua, string lemma);
|
|
|
|
/// <summary>
|
|
/// Recupero un dizionario intero data una lingua
|
|
/// </summary>
|
|
/// <param name="lingua"></param>
|
|
/// <returns></returns>
|
|
Task<List<VocabolarioModel>> GetByLang(string lingua);
|
|
|
|
/// <summary>
|
|
/// Recupero elenco lingue
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
Task<List<LinguaModel>> ListLingueAsync();
|
|
|
|
/// <summary>
|
|
/// Recupera un dizionario lemma->traduzione per una data lingua (sync, via CreateDbContext).
|
|
/// Usato per caricamenti sincroni da FusionCache factory.
|
|
/// </summary>
|
|
Dictionary<string, string> GetDizionarioLinguaSync(string lingua);
|
|
|
|
/// <summary>
|
|
/// Recupera un dizionario lemma->traduzione per una data lingua (async).
|
|
/// </summary>
|
|
Task<Dictionary<string, string>> GetDizionarioLinguaAsync(string lingua);
|
|
|
|
/// <summary>
|
|
/// Inserisce un record Vocabolario usando DbContext sincrono.
|
|
/// Usato per autogrowth del dizionario in Traduci().
|
|
/// </summary>
|
|
bool InsertSync(VocabolarioModel entity);
|
|
|
|
/// <summary>
|
|
/// Aggiorna un record Vocabolario esistente nel database.
|
|
/// </summary>
|
|
/// <param name="entity">Record aggiornato</param>
|
|
Task<bool> UpdateAsync(VocabolarioModel entity);
|
|
|
|
/// <summary>
|
|
/// Upsert di una lista di record Vocabolario
|
|
/// </summary>
|
|
/// <param name="upsList"></param>
|
|
/// <returns></returns>
|
|
Task<bool> UpsertManyAsync(List<VocabolarioModel> upsList);
|
|
|
|
#endregion Public Methods
|
|
}
|
|
} |