namespace DXPDAL.Kyc; // ── MDXPPARTYKYCPROFILE ────────────────────────────────────────────────────── // M table — INT AutoNumber PK. Scoped per TDXPPARTYBRANCHLINK row (branch-level GSTIN), // not one-per-party. Encrypted fields are AES-GCM ciphertext (base64) — see DXPKycEncryption. public class PartyKycProfileDTO { public int DxpPartyKycProfileId { get; set; } public int DxpPartyBranchLinkId { get; set; } public string? GstinEncrypted { get; set; } public string? GstinHash { get; set; } public string? PanEncrypted { get; set; } public string? PanHash { get; set; } public byte VerificationStatus { get; set; } = 1; // 1=Pending 2=Verified 3=Rejected public DateTime? VerifiedOn { get; set; } public int? VerifiedById { get; set; } public string? RejectionReason { get; set; } public Guid RowGuid { get; set; } // client-generated — UAS two-phase attachment pattern // Audit public short Version { get; set; } public byte Status { get; set; } = 1; // 1=Active 2=Superseded 3=Deleted public int CreatedById { get; set; } public DateTime CreatedOn { get; set; } public int ModifiedById { get; set; } public DateTime ModifiedOn { get; set; } }