Files
tnsu-approval-route/backend/Tnsu.ApprovalRoute.Domain/Entities/TemplateRouteStep.cs
T
2026-08-12 15:12:11 +05:00

40 lines
1.6 KiB
C#

using Tnsu.ApprovalRoute.Domain.Enums;
namespace Tnsu.ApprovalRoute.Domain.Entities;
public class TemplateRouteStep
{
public int Id { get; set; }
public int OrderNo { get; set; }
public string? ExecutorEmail { get; set; }
public string? Position { get; set; }
public ProjectRole? ProjectRole { get; set; }
public HeadType? HeadType { get; set; }
public RouteStepStatus Status { get; set; } = RouteStepStatus.Approval;
public int RouteId { get; set; }
public bool AllowReassignToOtherApprovers { get; set; }
/// <summary>
/// SLA этого шага в часах — перекрывает <see cref="RequestType.SlaHours"/>.
/// null означает ИМЕННО «не задано, наследовать от типа заявки», а 0 —
/// осознанное «напоминать сразу», поэтому поле обязано быть nullable и не
/// должно получать значение по умолчанию.
/// </summary>
public int? SlaHours { get; set; }
/// <summary>
/// Спрашивать ли причину просрочки на этом шаге — перекрывает
/// <see cref="RequestType.AskOverdueReason"/>. Здесь тоже три состояния:
/// null — наследовать от типа, true/false — явный выбор.
/// </summary>
public bool? AskOverdueReason { get; set; }
public string? FieldName { get; set; }
public ComparisonOperator? Operation { get; set; }
public string? Value { get; set; }
public TemplateRoute? Route { get; set; }
}