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

47 lines
1.6 KiB
C#

namespace EgwCoreLib.Lux.Data.Repository.Job
{
public interface IJobStepRepository : IBaseRepository
{
#region Public Methods
/// <summary>
/// Inserisce un nuovo record JobStep nel database.
/// </summary>
/// <param name="entity">Record da inserire</param>
Task<bool> AddAsync(JobStepModel entity);
/// <summary>
/// Elimina un record JobStep e aggiusta gli indici dei successivi.
/// </summary>
/// <param name="entity">Record da eliminare</param>
Task<bool> DeleteAsync(JobStepModel entity);
/// <summary>
/// Recupera un record JobStep specifico per ID.
/// </summary>
/// <param name="recId">ID del job step da recuperare</param>
Task<JobStepModel?> GetByIdAsync(int recId);
/// <summary>
/// Recupera tutti i job step associati a un Job specifico con le entità correlate.
/// </summary>
/// <param name="jobID">ID del Job padre</param>
Task<List<JobStepModel>> GetByParentAsync(int jobID);
/// <summary>
/// Sposta un job step 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(JobStepModel selRec, bool moveUp);
/// <summary>
/// Aggiorna un record JobStep esistente nel database.
/// </summary>
/// <param name="entity">Record aggiornato</param>
Task<bool> UpdateAsync(JobStepModel entity);
#endregion Public Methods
}
}