Esempio n. 1
0
        private ContractorCheckResult PrapareResponseFromFedsfm(string name, TerroristResponse fedsfmResponse)
        {
            if (fedsfmResponse == null)
            {
                return(null);
            }
            var check = new ContractorCheckResult();

            check.CheckName       = "Терроризм";
            check.Description     = fedsfmResponse.Suggestions?.FirstOrDefault();
            check.RiskCodes       = null;
            check.ContractorName  = name;
            check.IsSucces        = fedsfmResponse.Suggestions == null || !fedsfmResponse.Suggestions.Any();
            check.CheckSource     = "Росфинмониторинг";
            check.IsNeedHandCheck = fedsfmResponse.Suggestions.Any();
            return(check);
        }
Esempio n. 2
0
        private List <ContractorCheckResult> PrepareResult(string name, BankCheckResponse response)
        {
            var checkResults = new List <ContractorCheckResult>();

            if (response == null)
            {
                return(null);
            }
            var checks         = response.OutParms.Checks;
            var terroristCheck = checks.FirstOrDefault(c => c.CheckName == WSCustomerTerrorism);

            if (terroristCheck != null)
            {
                var checkResult = new ContractorCheckResult();
                checkResult.CheckName       = "Терроризм";
                checkResult.CheckSource     = BankCheckSource;
                checkResult.ContractorName  = name;
                checkResult.IsSucces        = !CheckOut.FailedChecks.Contains(terroristCheck.CheckResult);
                checkResult.RiskCodes       = null;
                checkResult.IsNeedHandCheck = CheckOut.FailedChecks.Contains(terroristCheck.CheckResult);
                checkResult.Description     = CheckOut.FailedChecks.Contains(terroristCheck.CheckResult) ? "Проверка не выполнялась" : terroristCheck.Comment?.Trim();
                checkResults.Add(checkResult);
            }
            if (response.OutParms.OutParmsWSComplianceCheck?.ResultSet1 == null)
            {
                return(checkResults);
            }
            foreach (var resultSet in response.OutParms.OutParmsWSComplianceCheck.ResultSet1)
            {
                var checkResult = new ContractorCheckResult();
                checkResult.CheckName       = _checkMap[resultSet.Idp];
                checkResult.CheckSource     = BankCheckSource;
                checkResult.ContractorName  = name;
                checkResult.IsNeedHandCheck = resultSet.Chk == CheckOut.SuccessfullCheck;
                checkResult.IsSucces        = resultSet.Chk != CheckOut.SuccessfullCheck;
                checkResult.RiskCodes       = resultSet.Atr.RSK != null && resultSet.Atr.RSK.Count > 0
                        ? string.Join(", ", resultSet.Atr.RSK)
                        : null;
                checkResult.Description = resultSet.Nms;
                checkResults.Add(checkResult);
            }
            return(checkResults);
        }
Esempio n. 3
0
        /// <summary>
        /// Проверить Паспорт в Сервисе Банка
        /// </summary>
        /// <param name="identityCardParams"></param>
        /// <returns></returns>
        public ContractorCheckResult CheckIdentityCard(IdentityCard identityCardParams)
        {
            var response = RequestApiServiceBank(new
            {
                exs    = identityCardParams.ExternalSystemCode,
                checks = new List <CheckIn>()
                {
                    new CheckIn(WSCodeInvalidIdentityCard),
                },
                fnm1         = identityCardParams.LastName,
                fnm2         = identityCardParams.FirstName,
                fnm3         = identityCardParams.MiddleName,
                dtbr         = identityCardParams.DateBirthDay?.ToString("yyyy-MM-dd"),
                crf          = string.IsNullOrWhiteSpace(identityCardParams.Inn) ? null : identityCardParams.Inn,
                ucd          = identityCardParams.TypeIdentityDocument,
                ser          = identityCardParams.SerialIdentityCard,
                num          = identityCardParams.NumberIedentityCard,
                dopn         = identityCardParams.DateOfIssue?.ToString("yyyy-MM-dd"),
                customerType = "FL"
            });
            var checkResult       = new ContractorCheckResult();
            var checks            = response.OutParms.Checks;
            var identityCardCheck = checks.FirstOrDefault(c => c.CheckName == WSCodeInvalidIdentityCard);

            if (identityCardCheck != null)
            {
                checkResult.CheckName       = "Проверка в сервисе недействительных паспортов";
                checkResult.CheckSource     = BankCheckSource;
                checkResult.ContractorName  = $"{identityCardParams.LastName} {identityCardParams.FirstName} {identityCardParams.MiddleName}";
                checkResult.IsSucces        = !CheckOut.FailedChecks.Contains(identityCardCheck.CheckResult);
                checkResult.RiskCodes       = null;
                checkResult.IsNeedHandCheck = CheckOut.FailedChecks.Contains(identityCardCheck.CheckResult);
                checkResult.Description     = CheckOut.FailedChecks.Contains(identityCardCheck.CheckResult) ? "Проверка неуспешна" : "Клиент имеет действительный паспорт";
            }
            return(checkResult);
        }