using PARR.Common.Domain;
using PARR.DAL.Models;
namespace PARR.TemplateMatcher.Services.Interfaces
{
public interface ITemplateReuser
{
///
/// Пытается переиспользовать неиспользуемый шаблон для указанной работы и ЭК.
/// При резервировании шаблона для правильного расчета NextRun Id работы
/// и ЭК устанавливается при захвате.
///
/// Id работы.
/// Id ЭК.
/// Данные инициатора операции.
/// Максимальное количество попыток (по умолчанию 3).
///
/// Зарезервированный шаблон или ,
/// если не удалось получить шаблон после всех попыток.
///
Task TryReuseOneUnusedTemplateAsync(
Guid jobId,
Guid unitId,
HistoryInitiator initiator,
int maxAttempts = 3);
}
}