using SolutionErp.Domain.Common;
using SolutionErp.Domain.Contracts;

namespace SolutionErp.Domain.Forms;

// Mapping 1 mẫu HĐ (file .docx hoặc .xlsx trong wwwroot/templates) → metadata + field spec JSON
public class ContractTemplate : AuditableEntity
{
    public string FormCode { get; set; } = string.Empty;      // vd "SOL-CCM-FO-002.05"
    public string Name { get; set; } = string.Empty;          // vd "Hợp đồng Giao khoán"
    public ContractType? ContractType { get; set; }           // null nếu đây là phụ lục (điều kiện chung)
    public string FileName { get; set; } = string.Empty;      // tên file gốc (để preserve extension)
    public string StoragePath { get; set; } = string.Empty;   // relative path dưới wwwroot/templates/
    public string Format { get; set; } = "docx";              // "docx" | "xlsx"
    public string? FieldSpec { get; set; }                    // JSON field spec — null nếu chưa định nghĩa
    public bool IsActive { get; set; } = true;
    public string? Description { get; set; }
}
