コード例 #1
0
        private async ValueTask HandleKycStatusUpdate(IReadOnlyList <PersonalDataUpdateMessage> kycStatusUpdates)
        {
            foreach (var kycStatusUpdate in kycStatusUpdates)
            {
                using var _ = MyTelemetry.StartActivity("Handle event KycStatusUpdate")
                              ?.AddTag("clientId", kycStatusUpdate.TraderId);


                var personalDataResponse =
                    await _personalDataServiceGrpc.GetByIdAsync(new GetByIdRequest()
                {
                    Id = kycStatusUpdate.TraderId
                });

                if (personalDataResponse.PersonalData == null)
                {
                    return;
                }

                if (personalDataResponse.PersonalData.Confirm != null &&
                    personalDataResponse.PersonalData.ConfirmPhone != null)
                {
                    await _clientProfileService.SetKYCPassed(new SetKYCPassedRequest()
                    {
                        ClientId = kycStatusUpdate.TraderId
                    });
                }

                _logger.LogDebug($"[ClientID:{kycStatusUpdate.TraderId}] setting KYC status as Passed");
            }
        }