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