namespace SolutionErp.Domain.Contracts;

// State machine HĐ — Session 17 spec mới (5 trạng thái):
//   DangSoanThao (Nháp)        ──Drafter trình──► ChoDuyet
//   TraLai       (Trả lại)     ──Drafter sửa+gửi lại──► ChoDuyet (chạy lại từ Cấp 1 Bước 1)
//   ChoDuyet     (Đã gửi duyệt) ──advance step pointer──► ChoDuyet
//                              ──last step done──────────► DaPhatHanh (terminal + gen mã HĐ)
//                              ──Approver Trả lại────────► TraLai
//                              ──Approver Từ chối────────► TuChoi (terminal)
//
// LEGACY values (DangChon, DangGopY, DangDamPhan, DangInKy, DangKiemTraCCM,
// DangTrinhKy, DangDongDau) deprecated post-Mig 21 — giữ enum cho data cũ.
// TraLai=98: Session 17 thêm mới — Trả lại là Phase RIÊNG (mirror PE).
public enum ContractPhase
{
    DangChon = 1,              // [LEGACY]
    DangSoanThao = 2,          // Nháp
    DangGopY = 3,              // [LEGACY]
    DangDamPhan = 4,           // [LEGACY]
    DangInKy = 5,              // [LEGACY]
    DangKiemTraCCM = 6,        // [LEGACY]
    DangTrinhKy = 7,           // [LEGACY]
    DangDongDau = 8,           // [LEGACY]
    DaPhatHanh = 9,            // Đã duyệt (cho HĐ — gen mã + phát hành) — terminal thành công
    ChoDuyet = 10,             // Đã gửi duyệt — generic intermediate, CurrentWorkflowStepIndex tracking
    TraLai = 98,               // Trả lại — Phase riêng, Drafter sửa rồi gửi lại chạy từ đầu
    TuChoi = 99,               // Từ chối — terminal khoá
}
