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);
        }
Exemple #2
0
 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);
        }