public async Task Arrange() { DeleteBatchCertificateRequest request = Builder <DeleteBatchCertificateRequest> .CreateNew() .With(i => i.Uln = 1234567890) .With(i => i.StandardCode = 1) .With(i => i.StandardReference = null) .With(i => i.UkPrn = 12345678) .With(i => i.FamilyName = "Test") .With(i => i.CertificateReference = "INVALID") .Build(); _validationResult = await Validator.ValidateAsync(request); }
public async Task <IActionResult> DeleteCertificate(long uln, string familyName, [SwaggerParameter("Standard Code or Standard Reference Number")] string standard, string certificateReference) { var deleteRequest = new DeleteBatchCertificateRequest { UkPrn = _headerInfo.Ukprn, Uln = uln, FamilyName = familyName, Standard = standard, CertificateReference = certificateReference }; var error = await _apiClient.DeleteCertificate(deleteRequest); if (error is null) { return(NoContent()); } else { return(StatusCode(error.StatusCode, error)); } }
public override async Task <ApiResponse> DeleteCertificate(DeleteBatchCertificateRequest request) { if (request != null) { _logger.LogInformation($"DeleteCertificate called with request: {JsonConvert.SerializeObject(request)}"); var details = await GetLearnerDetail(request.Standard, request.Uln); if (details != null) { request.Standard = details.Standard?.ReferenceNumber ?? details.Standard?.StandardId.ToString(); request.UkPrn = details.UkPrn; } } var response = await base.DeleteCertificate(request); _logger.LogInformation($"DeleteCertificate returned with response: {JsonConvert.SerializeObject(response)}"); return(response); }
public async Task <IActionResult> Delete(long uln, string lastname, string standard, string certificateReference, int ukPrn) { var request = new DeleteBatchCertificateRequest { Uln = uln, FamilyName = lastname, CertificateReference = certificateReference, UkPrn = ukPrn }; var standardVersion = await _mediator.Send(new GetStandardVersionRequest { StandardId = standard }); if (standardVersion != null) { request.StandardCode = standardVersion.LarsCode; request.StandardReference = standardVersion.IfateReferenceNumber; } var validationResult = await _deleteValidator.ValidateAsync(request); var isRequestValid = validationResult.IsValid; var validationErrors = validationResult.Errors.Select(error => error.ErrorMessage).ToList(); if (!validationErrors.Any() && isRequestValid) { try { await _mediator.Send(request); return(NoContent()); } catch (NotFoundException) { return(NotFound()); } } else { ApiResponse response = new ApiResponse((int)HttpStatusCode.Forbidden, string.Join("; ", validationErrors)); return(StatusCode(response.StatusCode, response)); } }
public async Task <IActionResult> Delete(long uln, string lastname, string standard, string certificateReference, int ukPrn) { var request = new DeleteBatchCertificateRequest { Uln = uln, FamilyName = lastname, CertificateReference = certificateReference, 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 _deleteValidator.ValidateAsync(request); var isRequestValid = validationResult.IsValid; var validationErrors = validationResult.Errors.Select(error => error.ErrorMessage).ToList(); if (!validationErrors.Any() && isRequestValid) { try { await _mediator.Send(request); return(NoContent()); } catch (NotFound) { return(NotFound()); } } else { ApiResponse response = new ApiResponse((int)HttpStatusCode.Forbidden, string.Join("; ", validationErrors)); return(StatusCode(response.StatusCode, response)); } }
public virtual async Task <ApiResponse> DeleteCertificate(DeleteBatchCertificateRequest request) { var apiResponse = await Delete <ApiResponse>($"/api/v1/certificates/batch/{request.Uln}/{request.FamilyName}/{request.Standard}/{request.CertificateReference}/{request.UkPrn}"); return(apiResponse); }