using ROLAC.API.Entities.Base;
namespace ROLAC.API.Entities;
///
/// Singleton (Id == 1) holding the issuing church's identity, bank details, and the
/// running check-number counter used when disbursing checks. Seeded on startup.
///
public class ChurchProfile : AuditableEntity, IAuditable
{
public int Id { get; set; }
public string Name { get; set; } = null!;
public string? Address { get; set; }
public string? City { get; set; }
public string? State { get; set; }
public string? ZipCode { get; set; }
public string? BankName { get; set; }
public string? BankAccountNumber { get; set; }
public string? BankRoutingNumber { get; set; }
/// Next check number to allocate; consumed (++) when a check is issued.
public int NextCheckNumber { get; set; } = 1001;
// Npgsql system column used as an optimistic-concurrency token so two simultaneous
// disbursement runs can't allocate the same check number. Mapped via IsRowVersion().
public uint xmin { get; set; }
}