public async Task <IActionResult> Get(long uln, string lastname, string standard, int ukPrn)
        {
            var request = new GetBatchLearnerRequest
            {
                Uln                = uln,
                FamilyName         = lastname,
                Standard           = standard,
                IncludeCertificate = true,
                UkPrn              = ukPrn
            };

            var validationResult = await _getValidator.ValidateAsync(request);

            var isRequestValid   = validationResult.IsValid;
            var validationErrors = validationResult.Errors.Select(error => error.ErrorMessage).ToList();

            var getResponse = new GetBatchLearnerResponse
            {
                ValidationErrors = validationErrors
            };

            if (!validationErrors.Any() && isRequestValid)
            {
                var result = await _mediator.Send(request);

                getResponse.Learner     = result.Learner;
                getResponse.Certificate = result.Certificate;
                getResponse.EpaDetails  = result.EpaDetails;
            }

            return(Ok(getResponse));
        }
コード例 #2
0
            private string GetCourseOptionFromGetBatchLearnerResponse(GetBatchLearnerResponse source, GetLearner destination)
            {
                if (!string.IsNullOrEmpty(source.Learner.CourseOption))
                {
                    return(source.Learner.CourseOption);
                }
                else if (!string.IsNullOrWhiteSpace(destination.Certificate?.CertificateData?.LearningDetails?.CourseOption))
                {
                    return(destination.Certificate.CertificateData.LearningDetails.CourseOption);
                }

                return(null);
            }