Initial commit

This commit is contained in:
2026-04-23 21:38:24 -04:00
commit 63e12a9636
1762 changed files with 1672620 additions and 0 deletions
@@ -0,0 +1,36 @@
namespace PowderCoating.Core.Entities;
public class InvoiceItem : BaseEntity
{
public int InvoiceId { get; set; }
public int? SourceJobItemId { get; set; }
public int? CatalogItemId { get; set; } // set for merchandise line items
public string Description { get; set; } = string.Empty;
public decimal Quantity { get; set; }
public decimal UnitPrice { get; set; }
public decimal TotalPrice { get; set; }
public string? ColorName { get; set; }
public string? Notes { get; set; }
public int DisplayOrder { get; set; }
/// <summary>
/// Revenue account this line item is posted to.
/// Pulled from the catalog item at invoice creation time; null falls back to default revenue account.
/// </summary>
public int? RevenueAccountId { get; set; }
// Gift certificate sale fields
public bool IsGiftCertificate { get; set; } = false;
public string? GcRecipientName { get; set; }
public string? GcRecipientEmail { get; set; }
public DateTime? GcExpiryDate { get; set; }
public int? GeneratedGiftCertificateId { get; set; }
// Navigation
public virtual Invoice Invoice { get; set; } = null!;
public virtual JobItem? SourceJobItem { get; set; }
public virtual CatalogItem? CatalogItem { get; set; }
public virtual Account? RevenueAccount { get; set; }
public virtual GiftCertificate? GeneratedGiftCertificate { get; set; }
}