public override void Synchronize(ICertificateDataReader certificateDataReader, BlockingCollection <CAConnectorCertificate> blockingBuffer, CertificateAuthoritySyncInfo certificateAuthoritySyncInfo, CancellationToken cancelToken) { Logger.MethodEntry(ILogExtensions.MethodLogLevel.Debug); string customerId = JsonConvert.DeserializeObject <GETShopperResponse>(_api.GetCustomerId()).customerId; int pageNumber = 1; bool wasLastPage = false; do { GETCertificatesDetailsResponse certificates = JsonConvert.DeserializeObject <GETCertificatesDetailsResponse>(_api.GetCertificates(customerId, pageNumber, _syncPageSize)); foreach (CertificateDetails certificate in certificates.certificates) { Thread.Sleep(1000); try { string issuedCert = RemovePEMHeader(JsonConvert.DeserializeObject <GETCertificateResponse>(_api.DownloadCertificate(certificate.certificateId)).pems.certificate); CertificateStatusEnum certStatus = CertificateStatusEnum.ISSUED; if (!Enum.TryParse(certificate.status, out certStatus)) { certStatus = CertificateStatusEnum.CANCELED; } blockingBuffer.Add(new CAConnectorCertificate { CARequestID = certificate.certificateId, Certificate = issuedCert, CSR = string.Empty, ResolutionDate = certificate.completedAt, RevocationDate = certificate.revokedAt, RevocationReason = null, Status = APIProcessor.MapReturnStatus(certStatus), SubmissionDate = certificate.createdAt, ProductID = certificate.type }); } catch (GoDaddyException) { } } wasLastPage = certificates.pagination.previous == certificates.pagination.last; pageNumber++; } while (!wasLastPage); blockingBuffer.CompleteAdding(); Logger.MethodExit(ILogExtensions.MethodLogLevel.Debug); }
public override void Synchronize(ICertificateDataReader certificateDataReader, BlockingCollection <CertificateRecord> blockingBuffer, CertificateAuthoritySyncInfo certificateAuthoritySyncInfo, CancellationToken cancelToken, string logicalName) { Logger.MethodEntry(ILogExtensions.MethodLogLevel.Debug); Logger.MethodExit(ILogExtensions.MethodLogLevel.Debug); throw new NotImplementedException(); }