49 lines
1.7 KiB
C#
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; }
|
|
}
|
|
}
|