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

27 lines
1.2 KiB
C#

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