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); }
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); }
/// <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); }