namespace SolutionErp.Domain.Office;

// Phase 11 P11-A (Mig 41) — Sequence generator dùng chung cho mã đơn từ (MaDonTu)
// của 4 WorkflowApps module (Leave / OT / Travel / VehicleBooking).
// Mirror ProposalCodeSequence pattern (Prefix string PK + LastSeq atomic).
//
// Prefix-keyed per module per năm, vd:
//   "DT/LR/2026" (Leave)  → "DT/LR/2026/001" → "DT/LR/2026/002" → ...
//   "DT/OT/2026" (OT)
//   "DT/CT/2026" (Travel — Công tác)
//   "DX/XE/2026" (VehicleBooking — Đặt xe)
// LastSeq reset đầu năm tự nhiên (key Prefix mới). Update atomic qua
// SERIALIZABLE transaction trong CodeGen service.
public class WorkflowAppCodeSequence
{
    public string Prefix { get; set; } = string.Empty;     // PK — "DT/LR/2026"
    public int LastSeq { get; set; }
    public DateTime UpdatedAt { get; set; }
}
