28 lines
1.3 KiB
C#
28 lines
1.3 KiB
C#
using PARR.DAL.Models;
|
|
using PARR.Domain.Entities.Base.History;
|
|
|
|
namespace PARR.TemplateMatcher.Services.Interfaces
|
|
{
|
|
public interface ITemplateReuser
|
|
{
|
|
/// <summary>
|
|
/// Пытается переиспользовать неиспользуемый шаблон для указанной работы и ЭК.
|
|
/// При резервировании шаблона для правильного расчета NextRun Id работы
|
|
/// и ЭК устанавливается при захвате.
|
|
/// </summary>
|
|
/// <param name="jobId">Id работы.</param>
|
|
/// <param name="unitId">Id ЭК.</param>
|
|
/// <param name="initiator">Данные инициатора операции.</param>
|
|
/// <param name="maxAttempts">Максимальное количество попыток (по умолчанию 3).</param>
|
|
/// <returns>
|
|
/// Зарезервированный шаблон или <see langword="null"/>,
|
|
/// если не удалось получить шаблон после всех попыток.
|
|
/// </returns>
|
|
Task<Template?> TryReuseOneUnusedTemplateAsync(
|
|
Guid jobId,
|
|
Guid unitId,
|
|
HistoryInitiator initiator,
|
|
int maxAttempts = 3);
|
|
}
|
|
}
|