Files
lux/EgwCoreLib.Lux.Data/Repository/Job/IJobTaskRepository.cs
T
Samuele E. Locatelli (W11-AI) c031fe76ba Continuo fix Repository fino Job
2026-03-25 16:01:21 +01:00

52 lines
1.8 KiB
C#

namespace EgwCoreLib.Lux.Data.Repository.Job
{
public interface IJobTaskRepository : IBaseRepository
{
#region Public Methods
/// <summary>
/// Inserisce un nuovo record JobTask nel database.
/// </summary>
/// <param name="entity">Record da inserire</param>
Task<bool> AddAsync(JobTaskModel entity);
/// <summary>
/// Elimina un record JobTask e aggiusta gli indici dei successivi.
/// </summary>
/// <param name="entity">Record da eliminare</param>
Task<bool> DeleteAsync(JobTaskModel entity);
/// <summary>
/// Recupera l'elenco completo delle attività job con tag e step associati.
/// </summary>
Task<List<JobTaskModel>> GetAllAsync();
/// <summary>
/// Recupera un record JobTask specifico per ID.
/// </summary>
/// <param name="recId">ID del task da recuperare</param>
Task<JobTaskModel?> GetByIdAsync(int recId);
/// <summary>
/// Aggiorna i tag associati a un job, mantenendo solo quelli richiesti.
/// </summary>
/// <param name="JobID">ID del Job</param>
/// <param name="reqTagList">Lista di tag richiesti</param>
Task<bool> MergeTagsAsync(int JobID, List<string> reqTagList);
/// <summary>
/// Sposta un job task su o giù nell'ordine di esecuzione.
/// </summary>
/// <param name="selRec">Record da spostare</param>
/// <param name="moveUp">Se true sposta su, altrimenti giù</param>
Task<bool> MoveAsync(JobTaskModel selRec, bool moveUp);
/// <summary>
/// Aggiorna un record JobTask esistente nel database.
/// </summary>
/// <param name="entity">Record aggiornato</param>
Task<bool> UpdateAsync(JobTaskModel entity);
#endregion Public Methods
}
}