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; } /// /// SLA этого шага в часах — перекрывает . /// null означает ИМЕННО «не задано, наследовать от типа заявки», а 0 — /// осознанное «напоминать сразу», поэтому поле обязано быть nullable и не /// должно получать значение по умолчанию. /// public int? SlaHours { get; set; } /// /// Спрашивать ли причину просрочки на этом шаге — перекрывает /// . Здесь тоже три состояния: /// null — наследовать от типа, true/false — явный выбор. /// 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; } }