Files
lux/EgwCoreLib.Lux.Data/Repository/Admin/IVocabolarioRepository.cs
T
2026-05-29 19:21:45 +02:00

69 lines
2.3 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 dalla linga originale a quella target
/// </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>
/// Recuperoelenco lingue
/// </summary>
/// <returns></returns>
Task<List<LinguaModel>> ListLingueAsync();
/// <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
}
}