using SolutionErp.Domain.Common;

namespace SolutionErp.Domain.Hrm;

// Phase 10.2 G-H2 (Mig 35 — S34 2026-05-27) — Loại phép.
// Catalog lookup table cho HRM Workflow Apps (G-O4 LeaveRequest).
// Sample seed 5 loại: ANNUAL (12d) + SICK (30d) + MATERNITY (180d) +
// COMPASSIONATE (3d) + UNPAID (0d, không giới hạn).
public class LeaveType : AuditableEntity
{
    public string Code { get; set; } = string.Empty;       // UNIQUE — "ANNUAL", "SICK", ...
    public string Name { get; set; } = string.Empty;       // "Phép năm", "Phép ốm"

    // Số ngày max được nghỉ trong năm. 0 = không giới hạn (UNPAID).
    // decimal(5,2) cho phép half-day (vd 0.5d).
    public decimal DaysPerYear { get; set; }

    public bool IsPaid { get; set; } = true;               // Có lương / Không lương

    // Yêu cầu đính kèm giấy tờ (vd Sick → giấy bác sĩ, Maternity → giấy KS).
    public bool RequiresAttachment { get; set; }

    public bool IsActive { get; set; } = true;
    public string? Description { get; set; }
}
