コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
            }
        }