using ROLAC.API.Entities.Base; namespace ROLAC.API.Entities; /// /// One category line of an . A single invoice/payment can span /// multiple expense categories, so the category / amount / functional-class axis lives /// here per line; the Expense header keeps payment-level info and a denormalized total. /// Lines are wholly owned by the header (replaced as a set on update, like CheckLine). /// public class ExpenseLine : AuditableEntity { public int Id { get; set; } public int ExpenseId { get; set; } public int CategoryGroupId { get; set; } public int SubCategoryId { get; set; } public string? FunctionalClass { get; set; } // null = inherit Ministry.DefaultFunctionalClass public decimal Amount { get; set; } public string? Description { get; set; } // optional per-line note (header description is authoritative for check printing) public Expense? Expense { get; set; } public ExpenseCategoryGroup? CategoryGroup { get; set; } public ExpenseSubCategory? SubCategory { get; set; } }