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; }
}