Ejemplo n.º 1
0
        public async Task <IActionResult> Get(long uln, string lastname, string standardId, int ukPrn)
        {
            var request = new GetBatchCertificateRequest
            {
                Uln         = uln,
                FamilyName  = lastname,
                UkPrn       = ukPrn,
                IncludeLogs = true
            };

            var standard = await _mediator.Send(new GetStandardVersionRequest { StandardId = standardId });

            if (standard != null)
            {
                request.StandardCode      = standard.LarsCode;
                request.StandardReference = standard.IfateReferenceNumber;
            }

            var validationResult = await _getValidator.ValidateAsync(request);

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

            GetBatchCertificateResponse getResponse = new GetBatchCertificateResponse
            {
                Uln              = request.Uln,
                Standard         = standardId,
                FamilyName       = request.FamilyName,
                ValidationErrors = validationErrors
            };

            if (!validationErrors.Any() && isRequestValid)
            {
                getResponse.Certificate = await _mediator.Send(request);
            }

            return(Ok(getResponse));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Get(long uln, string lastname, string standard, int ukPrn)
        {
            var request = new GetBatchCertificateRequest
            {
                Uln        = uln,
                FamilyName = lastname,
                UkPrn      = ukPrn
            };

            var collatedStandard = int.TryParse(standard, out int standardCode) ? await GetCollatedStandard(standardCode) : await GetCollatedStandard(standard);

            if (collatedStandard != null)
            {
                request.StandardCode      = collatedStandard.StandardId ?? int.MinValue;
                request.StandardReference = collatedStandard.ReferenceNumber;
            }

            var validationResult = await _getValidator.ValidateAsync(request);

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

            GetBatchCertificateResponse getResponse = new GetBatchCertificateResponse
            {
                Uln              = request.Uln,
                Standard         = standard,
                FamilyName       = request.FamilyName,
                ValidationErrors = validationErrors
            };

            if (!validationErrors.Any() && isRequestValid)
            {
                getResponse.Certificate = await _mediator.Send(request);
            }

            return(Ok(getResponse));
        }