using ROLAC.API.Entities.Base;

namespace ROLAC.API.Entities;

public class OfferingSession : AuditableEntity, IAuditable
{
    public int      Id          { get; set; }
    public DateOnly SessionDate { get; set; }
    public string   Status      { get; set; } = "Draft";   // Draft | Submitted | Reconciled
    public decimal  CashTotal   { get; set; }
    public decimal  CheckTotal  { get; set; }
    public decimal  SystemTotal { get; set; }
    public decimal  Difference  { get; set; }
    public string?  Notes       { get; set; }
    public string?  ProofPdfPath { get; set; }   // merged paper-proof PDF (relative storage path)
    public DateTimeOffset? SubmittedAt  { get; set; }
    public string?        SubmittedBy   { get; set; }
    public DateTimeOffset? ReconciledAt { get; set; }
    public string?        ReconciledBy  { get; set; }

    public List<Giving> Givings { get; set; } = [];
}
