Files
Core_Be/Models/ClientPayoutKyc.cs
T
Dhananjaya99 bffc9b1686 first commit
2026-09-28 11:44:26 +05:30

49 lines
1.7 KiB
C#

using Fitness_core_BE.Models.Enums;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Fitness_core_BE.Models
{
public class ClientPayoutKyc
{
[Key]
public Guid Id { get; set; }
public Guid FKClientId { get; set; }
[ForeignKey("FKClientId")]
public virtual Client Client { get; set; }
public int? BrCertificateDocId { get; set; }
[ForeignKey("BrCertificateDocId")]
public virtual UserDocument? BrCertificateDoc { get; set; }
public int? BankProofDocId { get; set; }
[ForeignKey("BankProofDocId")]
public virtual UserDocument? BankProofDoc { get; set; }
// Legacy payout-KYC uploads. New gateway onboarding reuses the NIC front
// and back collected during owner activation instead of uploading it again.
public int? NicDocId { get; set; }
[ForeignKey("NicDocId")]
public virtual UserDocument? NicDoc { get; set; }
// GatewayDefinition lives in Payment-Service, so this is an external
// catalog identifier rather than an EF foreign key.
public Guid? SelectedGatewayId { get; set; }
[MaxLength(100)]
public string? SelectedGatewayName { get; set; }
public KycStatus KycStatus { get; set; } = KycStatus.Pending;
public DateTime SubmittedAt { get; set; } = DateTime.UtcNow;
public DateTime? ReviewedAt { get; set; }
[MaxLength(500)]
public string? RejectionReason { get; set; }
public Guid? ReviewedByAdminId { get; set; }
[ForeignKey("ReviewedByAdminId")]
public virtual Admin? ReviewedByAdmin { get; set; }
}
}