using ROLAC.API.Entities.Base;

namespace ROLAC.API.Entities;

public class Giving : AuditableEntity, IAuditable
{
    public int      Id                 { get; set; }
    public int?     MemberId           { get; set; }
    public int      GivingCategoryId   { get; set; }
    public int?     OfferingSessionId  { get; set; }
    public decimal  Amount             { get; set; }
    public string   PaymentMethod      { get; set; } = "Cash"; // Cash|Check|Zelle|PayPal|Other
    public string?  CheckNumber        { get; set; }
    public string?  ZelleReferenceCode { get; set; }
    public string?  PayPalTransactionId{ get; set; }
    public DateOnly GivingDate         { get; set; }
    public bool     IsAnonymous        { get; set; }
    public string?  Notes              { get; set; }

    public Member?          Member          { get; set; }
    public GivingCategory?  GivingCategory  { get; set; }
    public OfferingSession? OfferingSession { get; set; }
}
