using SolutionErp.Domain.Common;

namespace SolutionErp.Domain.Contracts.Details;

// Base cho 7 ContractType Details. Mỗi loại HĐ có 1 bảng riêng (Option B
// theo user decision) — schema đặc thù từng loại nhưng share common fields:
// ContractId FK + Order + ThanhTien + GhiChu + audit (CreatedAt/By).
//
// Không dùng EF TPH/TPT inheritance (mỗi subclass là 1 bảng độc lập, không
// chung type discriminator) — mỗi subclass tự khai báo entity ToTable riêng.
public abstract class ContractDetailBase : BaseEntity
{
    public Guid ContractId { get; set; }
    public int Order { get; set; }                        // Thứ tự dòng trong HĐ (1, 2, 3...)
    public decimal ThanhTien { get; set; }                // Computed/manual entered
    public string? GhiChu { get; set; }
    public Contract? Contract { get; set; }
}
