namespace EgwCoreLib.Lux.Data.Repository.Job
{
public interface IJobStepRepository : IBaseRepository
{
#region Public Methods
///
/// Inserisce un nuovo record JobStep nel database.
///
/// Record da inserire
Task AddAsync(JobStepModel entity);
///
/// Elimina un record JobStep e aggiusta gli indici dei successivi.
///
/// Record da eliminare
Task DeleteAsync(JobStepModel entity);
///
/// Recupera un record JobStep specifico per ID.
///
/// ID del job step da recuperare
Task GetByIdAsync(int recId);
///
/// Recupera tutti i job step associati a un Job specifico con le entità correlate.
///
/// ID del Job padre
Task> GetByParentAsync(int jobID);
///
/// Sposta un job step su o giù nell'ordine di esecuzione.
///
/// Record da spostare
/// Se true sposta su, altrimenti giù
Task MoveAsync(JobStepModel selRec, bool moveUp);
///
/// Aggiorna un record JobStep esistente nel database.
///
/// Record aggiornato
Task UpdateAsync(JobStepModel entity);
#endregion Public Methods
}
}