public async Task <verifyLearnerResponse> VerifyLearnerAsync(RegisteredLearnerDetails learnerDetails) { try { var request = new verifyLearnerRequest { VerifyLearner = new VerifyLearnerRqst { UKPRN = _configuration.LearningRecordServiceSettings.Ukprn, UserName = _configuration.LearningRecordServiceSettings.Username, OrgPassword = _configuration.LearningRecordServiceSettings.Password, LearnerToVerify = new MIAPLearnerToVerify { ULN = learnerDetails.Uln.ToString(), GivenName = learnerDetails.Firstname, FamilyName = learnerDetails.Lastname, DateOfBirth = learnerDetails.DateofBirth.ToString(Constants.LrsDateFormat) } } }; return(await _learnerPortTypeClient.verifyLearnerAsync(request)); } catch (Exception ex) { if (_learnerPortTypeClient.State == CommunicationState.Faulted) { _learnerPortTypeClient.Abort(); } _logger.LogError($"Error while executing VerifyLearnerAsnc. Exception = {ex}"); return(null); } }
public async Task <bool> VerifyLearnerAsync(string uln, string firstName, string lastName, string dateOfBirth) { try { var request = new verifyLearnerRequest { VerifyLearner = new VerifyLearnerRqst { UKPRN = _configuration.LearningRecordServiceSettings.Ukprn, UserName = _configuration.LearningRecordServiceSettings.Username, OrgPassword = _configuration.LearningRecordServiceSettings.Password, LearnerToVerify = new MIAPLearnerToVerify { ULN = uln, GivenName = firstName, FamilyName = lastName, DateOfBirth = dateOfBirth } } }; var response = await _learnerPortTypeClient.verifyLearnerAsync(request); var responseCode = response.VerifyLearnerResponse.VerifiedLearner.ResponseCode; _learnerPortTypeClient.Close(); if (string.IsNullOrWhiteSpace(responseCode) || responseCode.Equals("WSVRC005", StringComparison.InvariantCultureIgnoreCase) || responseCode.Equals("WSVRC006", StringComparison.InvariantCultureIgnoreCase)) { return(false); } return(true); } catch (Exception ex) { if (_learnerPortTypeClient.State == CommunicationState.Faulted) { _learnerPortTypeClient.Abort(); } _logger.LogError($"Error while executing VerifyLearnerAsnc. Exception = {ex}"); _learnerPortTypeClient.Close(); return(false); } }