24 lines
1.1 KiB
C#
24 lines
1.1 KiB
C#
using ROLAC.API.Entities.Base;
|
|
namespace ROLAC.API.Entities;
|
|
|
|
/// <summary>
|
|
/// One category line of an <see cref="Expense"/>. 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).
|
|
/// </summary>
|
|
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; }
|
|
}
|