public async Task <List <CertificateResponse> > Handle(GetToBePrintedCertificatesRequest request, CancellationToken cancellationToken) { var statuses = new List <string> { Domain.Consts.CertificateStatus.Submitted, Domain.Consts.CertificateStatus.Reprint }; var certificates = await _certificateRepository.GetCertificates(statuses); var certificatesWithoutFails = new List <Certificate>(); foreach (var cert in certificates) { var certData = JsonConvert.DeserializeObject <CertificateData>(cert.CertificateData); if (!string.IsNullOrEmpty(certData?.OverallGrade) && certData.OverallGrade != CertificateGrade.Fail) { certificatesWithoutFails.Add(cert); } } var certificateResponses = Mapper.Map <List <Certificate>, List <CertificateResponse> >(certificatesWithoutFails); return(certificateResponses); }
public IEnumerable <Certificate> GetCertificates() { if (!CurrentUser.HasRole(UserRole.Member)) { throw new DomainValidationException(Messages.InsufficientSecurityClearance, "CurrentUser"); } return(_certificateRepository.GetCertificates()); }
public async Task <List <CertificateResponse> > Handle(GetCertificatesRequest request, CancellationToken cancellationToken) { var certificates = await _certificateRepository.GetCertificates(request.Statuses); var certificateResponses = Mapper.Map <List <Certificate>, List <CertificateResponse> >(certificates); return(certificateResponses); }