public static JobStatusResponse FromDataTransferObject(directsignaturejobstatusresponse directsignaturejobstatusresponse, DateTime nextPermittedPollTime)
        {
            var jobStatus = directsignaturejobstatusresponse.signaturejobstatus.ToJobStatus();

            var signatures = new List <Signature>();

            foreach (var signerstatus in directsignaturejobstatusresponse.status)
            {
                var xadesurl = directsignaturejobstatusresponse.xadesurl?.SingleOrDefault(xades => xades.signer.Equals(signerstatus.signer));
                signatures.Add(new Signature(signerstatus, xadesurl));
            }

            var jobReferences = new JobReferences(
                directsignaturejobstatusresponse.confirmationurl == null ? null : new Uri(directsignaturejobstatusresponse.confirmationurl),
                directsignaturejobstatusresponse.padesurl == null ? null : new Uri(directsignaturejobstatusresponse.padesurl)
                );

            return(new JobStatusResponse(
                       directsignaturejobstatusresponse.signaturejobid,
                       directsignaturejobstatusresponse.reference,
                       jobStatus,
                       jobReferences,
                       signatures,
                       nextPermittedPollTime
                       ));
        }
            public void Simple_constructor()
            {
                //Arrange
                var confirmation = new Uri("http://signatureRoot.digipost.no/confirmation");
                var pades        = new Uri("http://signatureRoot.digipost.no/pades");

                //Act
                var jobReferences = new JobReferences(confirmation, pades);

                //Assert
                Assert.Equal(confirmation, jobReferences.Confirmation.Url);
                Assert.Equal(pades, jobReferences.Pades.Url);
            }