public KycStatusResponse GetClientKycStatus(KycStatusRequest request) { var existingEntity = _readerKycStatuses.Get( KycProfileNoSqlEntity.GeneratePartitionKey(), KycProfileNoSqlEntity.GenerateRowKey(request.ClientId)); if (existingEntity != null) { return(new KycStatusResponse { ClientId = existingEntity.Profile.ClientId, Level = existingEntity.Profile.KycLevel, RequiredDocuments = KycLevelHelper.GetRequiredDocuments(existingEntity.Profile), RequiredVerifications = existingEntity.Profile.RequiredVerifications, DepositStatus = existingEntity.Profile.DepositStatus, TradeStatus = existingEntity.Profile.TradeStatus, WithdrawalStatus = existingEntity.Profile.WithdrawalStatus, VerificationInProgress = !string.IsNullOrEmpty(existingEntity.Profile.ActiveVerificationId) }); } var entity = _kycStatusService.GetKycStatusAsync(new KycStatusRequest() { ClientId = request.ClientId }).Result; return(entity); }
public async Task UpdateProfile(KycProfile profile, string operation, string agent, string comment) { await using var context = new DatabaseContext(_dbContextOptionsBuilder.Options); await context.UpsertAsync(new[] { profile }); await _cache.InsertOrReplaceAsync(KycProfileNoSqlEntity.Create(profile)); await _cache.CleanAndKeepMaxRecords(KycProfileNoSqlEntity.GeneratePartitionKey(), 10000); context.AuditLogs.Add(KycAuditLog.Create(profile, operation, agent, comment)); await context.SaveChangesAsync(); }