using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace Fitness_core_BE.Models { public class CustomerCards { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public Guid JobId { get; set; } // Tenant-bucket entity: this FK holds a TenantCustomerLinkId (not the central // Customer.CusId directly) -- see Models/TenantCustomerLink.cs. public Guid? FK_CustomerId { get; set; } [ForeignKey("FK_CustomerId")] public virtual TenantCustomerLink? TenantCustomerLink { get; set; } public Guid? FK_ClientId { get; set; } [ForeignKey("FK_ClientId")] public virtual Client? Client { get; set; } public string? WalletId { get; set; } public string? CardId { get; set; } public string? CardNumber { get; set; } public string? CardType { get; set; } public string? CardDate { get; set; } public bool IsActive { get; set; } = false; public bool IsPrimary { get; set; } = false; public int Priority { get; set; } = 0; public string? NickName { get; set; } /// Member's explicit opt-in to store this card for auto-deduct charges. public bool ConsentGiven { get; set; } = false; public DateTime? ConsentAt { get; set; } } }