예제 #1
0
        public async Task <ResponseModel> Post()
        {
            var clientId = this.GetClientId();

            if (string.IsNullOrEmpty(clientId))
            {
                return(ResponseModel <KycModelStatusResponseModel> .CreateFail(ResponseModel.ErrorCodeType.NotAuthenticated, Phrases.OperationCanNotBePerformed));
            }

            var status = await _kycRepository.GetKycStatusAsync(clientId);

            if (status == KycStatus.NeedToFillData)
            {
                await _kycRepository.SetStatusAsync(clientId, KycStatus.Pending);

                return(ResponseModel.CreateOk());
            }

            if (status == KycStatus.Pending)
            {
                return(ResponseModel.CreateOk());
            }

            return(ResponseModel.CreateFail(ResponseModel.ErrorCodeType.InconsistentData, Phrases.OperationCanNotBePerformed));
        }
예제 #2
0
        public async Task <bool> ChangeKycStatus(string clientId, KycStatus kycStatus, string changer)
        {
            var currentStatus = await _kycRepository.GetKycStatusAsync(clientId);

            if (currentStatus != kycStatus)
            {
                await _kycRepository.SetStatusAsync(clientId, kycStatus);

                await _auditLogRepository.AddAuditRecordAsync(clientId, currentStatus, kycStatus,
                                                              AuditRecordType.KycStatus, changer);
                await UpdateKycBadge();

                return(true);
            }

            return(false);
        }
예제 #3
0
        public async Task ChangeKycStatus(string clientId, KycStatus kycStatus)
        {
            await _kycRepository.SetStatusAsync(clientId, kycStatus);

            await UpdateKycBadge();
        }