Files
parr_api/PARR.DAL/Services/Interfaces/ITemplateService.cs

27 lines
1.1 KiB
C#

using PARR.Common.Domain;
using PARR.DAL.Models;
using PARR.DAL.Services.Interfaces.Base;
namespace PARR.DAL.Services.Interfaces
{
public interface ITemplateService : IBaseService<Template>
{
Task<Template?> GetTemplateByNameAsync(string name);
/// <summary>
/// Резервирует неиспользуемый шаблон для указанного ЭК и работы.
/// Для корректного расчета NextRun назначает захваченному шаблону ЭК и работу
/// </summary>
/// <param name="newUnitId">Id ЭК.</param>
/// <param name="newJobId">Id работы.</param>
/// <param name="initiator">Данные инициатора операции.</param>
/// <returns>
/// Id зарезервированного шаблона или <see langword="null"/>,
/// если подходящий шаблон не найден.
/// </returns>
Task<Guid?> ReserveUnusedTemplateAsync(Guid newUnitId, Guid newJobId, HistoryInitiator initiator);
IQueryable<Template> GetWithIncludes();
}
}