Example #1
0
        override public void Execute()
        {
            DocumentPackage template = PackageBuilder.NewPackageNamed("Template")
                                       .WithEmailMessage(PACKAGE_EMAIL_MESSAGE)
                                       .WithSigner(SignerBuilder.NewSignerPlaceholder(new Placeholder(PLACEHOLDER_ID)))
                                       .WithDocument(DocumentBuilder.NewDocumentNamed(DOCUMENT_NAME)
                                                     .FromStream(fileStream1, DocumentType.PDF)
                                                     .WithId(DOCUMENT_ID)
                                                     .WithSignature(SignatureBuilder.SignatureFor(new Placeholder(PLACEHOLDER_ID))
                                                                    .OnPage(0)
                                                                    .AtPosition(100, 100))
                                                     .Build())
                                       .Build();

            template.Id = eslClient.CreateTemplate(template);

            DocumentPackage newPackage = PackageBuilder.NewPackageNamed(PACKAGE_NAME)
                                         .DescribedAs(PACKAGE_DESCRIPTION)
                                         .WithEmailMessage(PACKAGE_EMAIL_MESSAGE2)
                                         .WithSigner(SignerBuilder.NewSignerWithEmail(email1)
                                                     .WithFirstName(PACKAGE_SIGNER2_FIRST)
                                                     .WithLastName(PACKAGE_SIGNER2_LAST)
                                                     .WithTitle(PACKAGE_SIGNER2_TITLE)
                                                     .WithCompany(PACKAGE_SIGNER2_COMPANY)
                                                     .WithCustomId(PLACEHOLDER_ID))
                                         .WithSettings(DocumentPackageSettingsBuilder.NewDocumentPackageSettings()
                                                       .WithInPerson()
                                                       .Build())
                                         .Build();

            packageId        = eslClient.CreatePackageFromTemplate(template.Id, newPackage);
            retrievedPackage = eslClient.GetPackage(packageId);

            // You are not able to update a document itself.
            // So if you want to update your document itself, you need to change the document.
            // For this, you should create the same document with existing one, and exchange it with existing one.

            // Creating the same document with existing one.
            Document documentToChange = DocumentBuilder.NewDocumentNamed(DOCUMENT_NAME)
                                        .FromStream(fileStream2, DocumentType.PDF)
                                        .WithId(DOCUMENT_ID)
                                        .WithSignature(SignatureBuilder.SignatureFor(new Placeholder(PLACEHOLDER_ID))
                                                       .OnPage(0)
                                                       .AtPosition(100, 100))
                                        .Build();

            List <Field> injectedFields = new List <Field>();

            injectedFields.Add(FieldBuilder.TextField().WithName("AGENT_SIG_1").WithValue("AGENT_SIG_1").Build());

            // Adding injectedFields to new document
            documentToChange.AddFields(injectedFields);

            Document retrievedDocument = retrievedPackage.Documents[DOCUMENT_NAME];

            // Deleting the existing document.
            eslClient.PackageService.DeleteDocument(packageId, retrievedDocument.Id);

            // Uploading newly created document.
            eslClient.UploadDocument(documentToChange.FileName, documentToChange.Content, documentToChange, retrievedPackage);
        }
Example #2
0
 public void SignerLastNameCannotBeEmpty()
 {
     Assert.Throws <OssException>(() => SignerBuilder.NewSignerWithEmail("*****@*****.**").WithFirstName("Billy").WithLastName(" ").Build());
 }
Example #3
0
        override public void Execute()
        {
            // first custom field
            customFieldId1 = Guid.NewGuid().ToString().Replace("-", "");
            Console.WriteLine("customer field ID = " + customFieldId1);
            CustomField customField1 = ossClient.GetCustomFieldService()
                                       .CreateCustomField(CustomFieldBuilder.CustomFieldWithId(customFieldId1)
                                                          .WithDefaultValue(DEFAULT_VALUE)
                                                          .WithTranslation(TranslationBuilder.NewTranslation(ENGLISH_LANGUAGE)
                                                                           .WithName(ENGLISH_NAME)
                                                                           .WithDescription(ENGLISH_DESCRIPTION))
                                                          .WithTranslation(TranslationBuilder.NewTranslation(FRENCH_LANGUAGE)
                                                                           .WithName(FRENCH_NAME)
                                                                           .WithDescription(FRENCH_DESCRIPTION))
                                                          .Build());

            CustomFieldValue customFieldValue = ossClient.GetCustomFieldService()
                                                .SubmitCustomFieldValue(CustomFieldValueBuilder.CustomFieldValueWithId(customField1.Id)
                                                                        .WithValue(FIELD_VALUE1)
                                                                        .build());

            // Second custom field
            customFieldId2 = Guid.NewGuid().ToString().Replace("-", "");
            Console.WriteLine("customer field ID = " + customFieldId1);
            CustomField customField2 = ossClient.GetCustomFieldService()
                                       .CreateCustomField(CustomFieldBuilder.CustomFieldWithId(customFieldId2)
                                                          .WithDefaultValue("Red")
                                                          .WithTranslation(TranslationBuilder.NewTranslation("en").
                                                                           WithName("Jersey color").
                                                                           WithDescription("The color of your team jersey"))
                                                          .Build());

            CustomFieldValue customFieldValue2 = ossClient.GetCustomFieldService()
                                                 .SubmitCustomFieldValue(CustomFieldValueBuilder.CustomFieldValueWithId(customField2.Id)
                                                                         .WithValue(FIELD_VALUE2)
                                                                         .build());

            DocumentPackage superDuperPackage = PackageBuilder.NewPackageNamed(PackageName)
                                                .WithSigner(SignerBuilder.NewSignerWithEmail(email1)
                                                            .WithFirstName("John")
                                                            .WithLastName("Smith"))
                                                .WithDocument(DocumentBuilder.NewDocumentNamed(DOCUMENT_NAME)
                                                              .FromStream(fileStream1, DocumentType.PDF)
                                                              .WithSignature(SignatureBuilder.SignatureFor(email1)
                                                                             .OnPage(0)
                                                                             .AtPosition(100, 100)
                                                                             .WithField(FieldBuilder.CustomField(customFieldValue.Id)
                                                                                        .OnPage(0)
                                                                                        .AtPosition(400, 200))
                                                                             .WithField(FieldBuilder.CustomField(customFieldValue2.Id)
                                                                                        .OnPage(0)
                                                                                        .AtPosition(400, 400))))
                                                .Build();

            packageId = ossClient.CreatePackage(superDuperPackage);
            ossClient.SendPackage(packageId);
            retrievedPackage = ossClient.GetPackage(packageId);

            // Get the entire list of custom field from account
            retrievedCustomFieldList1 = ossClient.GetCustomFieldService().GetCustomFields(Direction.ASCENDING);

            // Get a list of custom fields on page 1 sorted in ascending order by its id
            retrievedCustomFieldList2 = ossClient.GetCustomFieldService().GetCustomFields(Direction.ASCENDING, new PageRequest(1));

            // Get the first custom field from account
            retrievedCustomField = ossClient.GetCustomFieldService().GetCustomField(customFieldId1);

            // Delete the second custom field from account
            ossClient.GetCustomFieldService().DeleteCustomField(customFieldId2);

            // Get the entire list of user custom field from the user
            retrieveCustomFieldValueList1 = ossClient.GetCustomFieldService().GetCustomFieldValues();
            retrieveCustomFieldValue1     = ossClient.GetCustomFieldService().GetCustomFieldValue(customFieldId1);
            retrieveCustomFieldValue2     = ossClient.GetCustomFieldService().GetCustomFieldValue(customFieldId2);

            // Delete the second custom field from the user
            ossClient.GetCustomFieldService().DeleteCustomFieldValue(retrieveCustomFieldValueList1[1].Id);

            // Get the entire list of user custom field from the user
            retrieveCustomFieldValueList2 = ossClient.GetCustomFieldService().GetCustomFieldValues();
        }
Example #4
0
        override public void Execute()
        {
            DocumentPackage superDuperPackage = PackageBuilder.NewPackageNamed("QRCodeExample: " + DateTime.Now)
                                                .DescribedAs("This is a package created using the e-SignLive SDK")
                                                .WithEmailMessage("This message should be delivered to all signers")
                                                .WithSigner(SignerBuilder.NewSignerWithEmail(email1)
                                                            .WithCustomId("Client1")
                                                            .WithFirstName("John")
                                                            .WithLastName("Smith")
                                                            .WithTitle("Managing Director")
                                                            .WithCompany("Acme Inc."))
                                                .WithDocument(DocumentBuilder.NewDocumentNamed("First Document")
                                                              .WithId(DOCUMENT_ID)
                                                              .FromStream(fileStream1, DocumentType.PDF)
                                                              .WithSignature(SignatureBuilder.SignatureFor(email1)
                                                                             .OnPage(0)
                                                                             .AtPosition(100, 100))
                                                              .WithQRCode(FieldBuilder.QRCode()
                                                                          .WithId(qrCodeId1)
                                                                          .OnPage(0)
                                                                          .AtPosition(400, 100)))
                                                .Build();

            packageId = eslClient.CreatePackage(superDuperPackage);

            Field qrCode2 = FieldBuilder.QRCode()
                            .OnPage(0)
                            .AtPosition(500, 100)
                            .Build();

            // Add a second QR code to document
            qrCodeId2 = eslClient.QrCodeService.AddQRCode(packageId, DOCUMENT_ID, qrCode2);

            // Get the added QR codes
            addedQRCode1 = eslClient.QrCodeService.GetQRCode(packageId, DOCUMENT_ID, qrCodeId1);
            addedQRCode2 = eslClient.QrCodeService.GetQRCode(packageId, DOCUMENT_ID, qrCodeId2);

            // Modify the first QR code
            Field modifiedQRCode = FieldBuilder.QRCode()
                                   .WithId(qrCodeId1)
                                   .OnPage(0)
                                   .AtPosition(400, 500)
                                   .Build();

            eslClient.QrCodeService.ModifyQRCode(packageId, DOCUMENT_ID, modifiedQRCode);
            modifiedQRCodeList = eslClient.GetPackage(packageId).Documents[DOCUMENT_NAME].QRCodes;

            // Delete the second QR code
            eslClient.QrCodeService.DeleteQRCode(packageId, DOCUMENT_ID, qrCodeId2);
            deletedQRCodeList = eslClient.GetPackage(packageId).Documents[DOCUMENT_NAME].QRCodes;

            // Update all the QR codes in the document with the provided list of fields
            Field updatedQRCode1 = FieldBuilder.QRCode()
                                   .WithId(qrCodeId1)
                                   .OnPage(0)
                                   .AtPosition(200, 600)
                                   .Build();

            Field updatedQRCode2 = FieldBuilder.QRCode()
                                   .WithId(qrCodeId2)
                                   .OnPage(0)
                                   .AtPosition(300, 600)
                                   .Build();

            IList <Silanis.ESL.SDK.Field> qrCodeList = new List <Silanis.ESL.SDK.Field>();

            qrCodeList.Add(updatedQRCode1);
            qrCodeList.Add(updatedQRCode2);
            eslClient.QrCodeService.UpdateQRCodes(packageId, DOCUMENT_ID, qrCodeList);
            updatedQRCodeList = eslClient.GetPackage(packageId).Documents[DOCUMENT_NAME].QRCodes;
        }
        override public void Execute()
        {
            DocumentPackage superDuperPackage =
                PackageBuilder.NewPackageNamed(PackageName)
                .DescribedAs("This is a package created using the eSignLive SDK")
                .ExpiresOn(DateTime.Now.AddMonths(100))
                .WithEmailMessage("This message should be delivered to all signers")
                .WithTimezoneId("Canada/Mountain")
                .WithSigner(SignerBuilder.NewSignerWithEmail(email1)
                            .WithCustomId("Client1")
                            .WithFirstName("John")
                            .WithLastName("Smith")
                            .WithTitle("Managing Director")
                            .WithCompany("Acme Inc.")
                            )
                .WithSigner(SignerBuilder.NewSignerWithEmail(email2)
                            .WithFirstName("Patty")
                            .WithLastName("Galant")
                            )
                .WithDocument(DocumentBuilder.NewDocumentNamed(DOCUMENT1_NAME)
                              .FromStream(fileStream1, DocumentType.PDF)
                              .WithSignature(SignatureBuilder.SignatureFor(email1)
                                             .OnPage(0)
                                             .WithField(FieldBuilder.CheckBox()
                                                        .OnPage(0)
                                                        .AtPosition(400, 200)
                                                        .WithValue(FieldBuilder.CHECKBOX_CHECKED)
                                                        )
                                             .AtPosition(100, 100)
                                             )
                              )
                .WithDocument(DocumentBuilder.NewDocumentNamed(DOCUMENT2_NAME)
                              .FromStream(fileStream2, DocumentType.PDF)
                              .WithSignature(SignatureBuilder.SignatureFor(email2)
                                             .OnPage(0)
                                             .AtPosition(100, 200)
                                             .WithField(FieldBuilder.RadioButton("group")
                                                        .WithName("firstField")
                                                        .WithValue(false)
                                                        .WithSize(20, 20)
                                                        .OnPage(0)
                                                        .AtPosition(400, 200))
                                             .WithField(FieldBuilder.RadioButton("group")
                                                        .WithName("secondField")
                                                        .WithValue(true)
                                                        .WithSize(20, 20)
                                                        .OnPage(0)
                                                        .AtPosition(400, 250))
                                             .WithField(FieldBuilder.RadioButton("group")
                                                        .WithName("thirdField")
                                                        .WithValue(false)
                                                        .WithSize(20, 20)
                                                        .OnPage(0)
                                                        .AtPosition(400, 300))
                                             )
                              )
                .Build();

            packageId = eslClient.CreatePackageOneStep(superDuperPackage);
            eslClient.SendPackage(packageId);
            retrievedPackage = eslClient.GetPackage(packageId);
        }
        override public void Execute()
        {
            // Signer1 with 1 attachment requirement
            signer1 = SignerBuilder.NewSignerWithEmail(email1)
                      .WithFirstName("John")
                      .WithLastName("Smith")
                      .WithCustomId(SIGNER1_ID)
                      .WithAttachmentRequirement(AttachmentRequirementBuilder.NewAttachmentRequirementWithName(NAME1)
                                                 .WithDescription(DESCRIPTION1)
                                                 .IsRequiredAttachment()
                                                 .Build())
                      .Build();

            // Signer2 with 2 attachment requirements
            Signer signer2 = SignerBuilder.NewSignerWithEmail(email2)
                             .WithFirstName("Patty")
                             .WithLastName("Galant")
                             .WithCustomId(SIGNER2_ID)
                             .WithAttachmentRequirement(AttachmentRequirementBuilder.NewAttachmentRequirementWithName(NAME2)
                                                        .WithDescription(DESCRIPTION2)
                                                        .Build())
                             .WithAttachmentRequirement(AttachmentRequirementBuilder.NewAttachmentRequirementWithName(NAME3)
                                                        .WithDescription(DESCRIPTION3)
                                                        .IsRequiredAttachment()
                                                        .Build())
                             .Build();

            DocumentPackage superDuperPackage = PackageBuilder.NewPackageNamed(PackageName)
                                                .DescribedAs("This is a package created using the eSignLive SDK")
                                                .WithSigner(signer1)
                                                .WithSigner(signer2)
                                                .WithDocument(DocumentBuilder.NewDocumentNamed("test document")
                                                              .FromStream(fileStream1, DocumentType.PDF)
                                                              .WithSignature(SignatureBuilder.SignatureFor(email1)
                                                                             .Build())
                                                              .Build())
                                                .Build();

            packageId = eslClient.CreateAndSendPackage(superDuperPackage);

            retrievedPackage = eslClient.GetPackage(packageId);

            attachment1Id = retrievedPackage.GetSigner(email1).GetAttachmentRequirement(NAME1).Id;
            signer1       = retrievedPackage.GetSigner(email1);

            signer1Attachments = retrievedPackage.GetSigner(email1).Attachments;
            signer2Attachments = retrievedPackage.GetSigner(email2).Attachments;

            signer1Att1 = signer1Attachments[0];
            signer2Att1 = signer2Attachments[0];
            signer2Att2 = signer2Attachments[1];

            retrievedSigner1Att1RequirementStatus = signer1Att1.Status;
            retrievedSigner2Att1RequirementStatus = signer2Att1.Status;
            retrievedSigner2Att2RequirementStatus = signer2Att2.Status;

            // Upload attachment for signer1
            byte[] attachment1ForSigner1FileContent = new StreamDocumentSource(attachmentInputStream1).Content();
            attachment1ForSigner1FileSize = attachment1ForSigner1FileContent.Length;
            eslClient.UploadAttachment(packageId, signer1Att1.Id, ATTACHMENT_FILE_NAME1, attachment1ForSigner1FileContent, SIGNER1_ID);
            eslClient.UploadAttachment(packageId, signer2Att1.Id, ATTACHMENT_FILE_NAME2,
                                       new StreamDocumentSource(attachmentInputStream2).Content(), SIGNER2_ID);
            eslClient.UploadAttachment(PackageId, signer2Att2.Id, ATTACHMENT_FILE_NAME3,
                                       new StreamDocumentSource(attachmentInputStream3).Content(), SIGNER2_ID);

            // Sender rejects Signer1's uploaded attachment
            eslClient.AttachmentRequirementService.RejectAttachment(packageId, signer1, NAME1, REJECTION_COMMENT);
            retrievedPackageAfterRejection = eslClient.GetPackage(packageId);
            retrievedSigner1Att1RequirementStatusAfterRejection        = retrievedPackageAfterRejection.GetSigner(email1).GetAttachmentRequirement(NAME1).Status;
            retrievedSigner1Att1RequirementSenderCommentAfterRejection = retrievedPackageAfterRejection.GetSigner(email1).GetAttachmentRequirement(NAME1).SenderComment;

            // Sender accepts Signer1's uploaded attachment
            eslClient.AttachmentRequirementService.AcceptAttachment(packageId, signer1, NAME1);
            retrievedPackageAfterAccepting = eslClient.GetPackage(packageId);

            retrievedSigner1Att1RequirementStatusAfterAccepting        = retrievedPackageAfterAccepting.GetSigner(email1).GetAttachmentRequirement(NAME1).Status;
            retrievedSigner1Att1RequirementSenderCommentAfterAccepting = retrievedPackageAfterAccepting.GetSigner(email1).GetAttachmentRequirement(NAME1).SenderComment;

            // Download signer1's attachment
            DownloadedFile downloadedAttachment = eslClient.AttachmentRequirementService.DownloadAttachmentFile(packageId, attachment1Id);

            System.IO.File.WriteAllBytes(downloadedAttachment.Filename, downloadedAttachment.Contents);

            // Download all attachments for the package
            DownloadedFile downloadedAllAttachmentsForPackage = eslClient.AttachmentRequirementService.DownloadAllAttachmentFilesForPackage(packageId);

            System.IO.File.WriteAllBytes(DOWNLOADED_ALL_ATTACHMENTS_FOR_PACKAGE_ZIP, downloadedAllAttachmentsForPackage.Contents);

            // Download all attachments for the signer1 in the package
            DownloadedFile downloadedAllAttachmentsForSigner1InPackage = eslClient.AttachmentRequirementService.DownloadAllAttachmentFilesForSignerInPackage(retrievedPackage, signer1);

            System.IO.File.WriteAllBytes(DOWNLOADED_ALL_ATTACHMENTS_FOR_SIGNER1_IN_PACKAGE_ZIP, downloadedAllAttachmentsForSigner1InPackage.Contents);

            // Download all attachments for the signer2 in the package
            DownloadedFile downloadedAllAttachmentsForSigner2InPackage = eslClient.AttachmentRequirementService.DownloadAllAttachmentFilesForSignerInPackage(retrievedPackage, signer2);

            System.IO.File.WriteAllBytes(DOWNLOADED_ALL_ATTACHMENTS_FOR_SIGNER2_IN_PACKAGE_ZIP, downloadedAllAttachmentsForSigner2InPackage.Contents);

            downloadedAttachemnt1 = new FileInfo(downloadedAttachment.Filename);
        }
Example #7
0
        override public void Execute()
        {
            DocumentPackage superDuperPackage =
                PackageBuilder.NewPackageNamed("SignatureManipulationExample: " + DateTime.Now)
                .DescribedAs("This is a package created using the e-SignLive SDK")
                .ExpiresOn(DateTime.Now.AddMonths(100))
                .WithSigner(SignerBuilder.NewSignerWithEmail(email1)
                            .WithCustomId("signatureId1")
                            .WithFirstName("firstName1")
                            .WithLastName("lastName1")
                            )
                .WithSigner(SignerBuilder.NewSignerWithEmail(email2)
                            .WithCustomId("signatureId2")
                            .WithFirstName("firstName2")
                            .WithLastName("lastName2")
                            )
                .WithSigner(SignerBuilder.NewSignerWithEmail(email3)
                            .WithCustomId("signatureId3")
                            .WithFirstName("firstName3")
                            .WithLastName("lastName3")
                            )
                .WithDocument(DocumentBuilder.NewDocumentNamed(DOCUMENT_NAME)
                              .WithId("documentId")
                              .FromStream(fileStream, DocumentType.PDF)
                              )

                .Build();

            packageId = eslClient.CreatePackage(superDuperPackage);

            signature1 = SignatureBuilder.SignatureFor(email1)
                         .OnPage(0)
                         .WithId(new SignatureId("signatureId1"))
                         .AtPosition(100, 100)
                         .Build();

            signature2 = SignatureBuilder.SignatureFor(email2)
                         .OnPage(0)
                         .WithId(new SignatureId("signatureId2"))
                         .AtPosition(100, 200)
                         .Build();

            signature3 = SignatureBuilder.SignatureFor(email3)
                         .OnPage(0)
                         .WithId(new SignatureId("signatureId3"))
                         .AtPosition(100, 300)
                         .Build();

            modifiedSignature = SignatureBuilder.SignatureFor(email1)
                                .OnPage(0)
                                .WithId(new SignatureId("signatureId3"))
                                .AtPosition(200, 400)
                                .Build();

            // Adding the signatures
            createdPackage = eslClient.GetPackage(packageId);
            eslClient.ApprovalService.AddApproval(createdPackage, documentId, signature1);
            eslClient.ApprovalService.AddApproval(createdPackage, documentId, signature2);
            eslClient.ApprovalService.AddApproval(createdPackage, documentId, signature3);
            addedSignatures = eslClient.GetPackage(packageId).Documents[DOCUMENT_NAME].Signatures;

            // Deleting signature for signer 1
            eslClient.ApprovalService.DeleteApproval(packageId, "documentId", "signatureId1");
            deletedSignatures = eslClient.GetPackage(packageId).Documents[DOCUMENT_NAME].Signatures;

            // Updating the information for the third signature
            createdPackage = eslClient.GetPackage(packageId);
            eslClient.ApprovalService.ModifyApproval(createdPackage, "documentId", modifiedSignature);
            modifiedSignatures = eslClient.GetPackage(packageId).Documents[DOCUMENT_NAME].Signatures;

            // Update all the signatures in the document with the provided list of signatures
            updatedSignature1 = SignatureBuilder.SignatureFor(email2)
                                .OnPage(0)
                                .AtPosition(300, 300)
                                .WithId(new SignatureId("signatureId2"))
                                .WithField(FieldBuilder.SignerName()
                                           .AtPosition(100, 100)
                                           .OnPage(0))
                                .Build();

            updatedSignature2 = SignatureBuilder.SignatureFor(email3)
                                .OnPage(0)
                                .AtPosition(300, 500)
                                .WithId(new SignatureId("signatureId3"))
                                .Build();

            List <Signature> signatureList = new List <Signature>();

            signatureList.Add(updatedSignature1);
            signatureList.Add(updatedSignature2);
            eslClient.ApprovalService.UpdateApprovals(createdPackage, documentId, signatureList);
            updatedSignatures = eslClient.GetPackage(packageId).Documents[DOCUMENT_NAME].Signatures;
        }
Example #8
0
        override public void Execute()
        {
            SIGNER_WITH_AUTHENTICATION_EQUIFAX_CANADA =
                SignerBuilder.NewSignerWithEmail(email1)
                .WithFirstName("Signer1")
                .WithLastName("Canada")
                .WithCustomId("SingerCanadaID")
                .ChallengedWithKnowledgeBasedAuthentication(
                    SignerInformationForEquifaxCanadaBuilder.NewSignerInformationForEquifaxCanada()
                    .WithFirstName("Signer1")
                    .WithLastName("lastNameCanada")
                    .WithStreetAddress("1111")
                    .WithCity("Montreal")
                    .WithProvince("QC")
                    .WithPostalCode("A1A1A1")
                    .WithTimeAtAddress(1)
                    .WithDriversLicenseNumber("Driver licence number")
                    .WithSocialInsuranceNumber("111222333")
                    .WithHomePhoneNumber("5141112222")
                    .WithDateOfBirth(new DateTime(1965, 1, 1)))
                .ChallengedWithQuestions(ChallengeBuilder.FirstQuestion("What's your favorite restaurant? (answer: Staffany)")
                                         .Answer("Staffany")
                                         .SecondQuestion("What sport do you play? (answer: hockey)")
                                         .Answer("hockey"))
                .Build();

            SIGNER_WITH_AUTHENTICATION_EQUIFAX_USA =
                SignerBuilder.NewSignerWithEmail(email2)
                .WithFirstName("Signer2")
                .WithLastName("USA")
                .WithCustomId("SignerUSAID")
                .ChallengedWithKnowledgeBasedAuthentication(
                    SignerInformationForEquifaxUSABuilder.NewSignerInformationForEquifaxUSA()
                    .WithFirstName("Singer2")
                    .WithLastName("lastNameUSA")
                    .WithStreetAddress("2222")
                    .WithCity("New York")
                    .WithState("NY")
                    .WithZip("65212")
                    .WithSocialSecurityNumber("222667098")
                    .WithHomePhoneNumber("8701116547")
                    .WithTimeAtAddress(3)
                    .WithDriversLicenseNumber("Driver License Number")
                    .WithDateOfBirth(new DateTime(1967, 2, 2)))
                .ChallengedWithQuestions(ChallengeBuilder.FirstQuestion("What's your favorite sport? (answer: golf)")
                                         .Answer("golf")
                                         .SecondQuestion("What music instrument do you play? (answer: drums)")
                                         .Answer("drums"))
                .Build();

            DocumentPackage superDuperPackage = PackageBuilder.NewPackageNamed(PackageName)
                                                .DescribedAs("This is a package created using the eSignLive SDK")
                                                .WithSigner(SIGNER_WITH_AUTHENTICATION_EQUIFAX_CANADA)
                                                .WithSigner(SIGNER_WITH_AUTHENTICATION_EQUIFAX_USA)
                                                .WithDocument(DocumentBuilder.NewDocumentNamed(documentName)
                                                              .FromStream(fileStream1, DocumentType.PDF)
                                                              .WithSignature(SignatureBuilder.SignatureFor(email1)
                                                                             .Build())
                                                              .WithSignature(SignatureBuilder.SignatureFor(email2)
                                                                             .Build())
                                                              .Build())
                                                .Build();

            packageId = ossClient.CreateAndSendPackage(superDuperPackage);

            retrievedPackage = ossClient.GetPackage(packageId);
        }
        override public void Execute()
        {
            // Create a package with one document and one signature with two fields
            DocumentPackage superDuperPackage = PackageBuilder.NewPackageNamed(LAYOUT_PACKAGE_NAME)
                                                .DescribedAs(LAYOUT_PACKAGE_DESCRIPTION)
                                                .WithSigner(SignerBuilder.NewSignerWithEmail(email1)
                                                            .WithCustomId("Client1")
                                                            .WithFirstName("John")
                                                            .WithLastName("Smith")
                                                            .WithTitle("Managing Director")
                                                            .WithCompany("Acme Inc."))
                                                .WithDocument(DocumentBuilder.NewDocumentNamed(LAYOUT_DOCUMENT_NAME)
                                                              .WithId("documentId")
                                                              .WithDescription("Layout document description")
                                                              .FromStream(fileStream1, DocumentType.PDF)
                                                              .WithSignature(SignatureBuilder.SignatureFor(email1)
                                                                             .OnPage(0)
                                                                             .AtPosition(100, 100)
                                                                             .WithField(FieldBuilder.SignerTitle()
                                                                                        .WithName(FIELD_1_NAME)
                                                                                        .OnPage(0)
                                                                                        .AtPosition(100, 200))
                                                                             .WithField(FieldBuilder.SignerCompany()
                                                                                        .WithName(FIELD_2_NAME)
                                                                                        .OnPage(0)
                                                                                        .AtPosition(100, 300))))
                                                .Build();

            PackageId packageId1 = eslClient.CreatePackage(superDuperPackage);

            superDuperPackage.Id = packageId1;

            // Create layout from package
            layoutId = eslClient.LayoutService.CreateLayout(superDuperPackage);

            // Get a list of layouts
            layouts = eslClient.LayoutService.GetLayouts(Direction.ASCENDING, new PageRequest(1, 100));

            // Create a new package to apply document layout to
            DocumentPackage packageFromLayout = PackageBuilder.NewPackageNamed(PackageName)
                                                .DescribedAs("This is a package created using the eSignLive SDK")
                                                .WithEmailMessage("This message should be delivered to all signers")
                                                .WithSigner(SignerBuilder.NewSignerWithEmail(email1)
                                                            .WithCustomId("Client1")
                                                            .WithFirstName("John")
                                                            .WithLastName("Smith")
                                                            .WithTitle("Managing Director")
                                                            .WithCompany("Acme Inc."))
                                                .WithDocument(DocumentBuilder.NewDocumentNamed(APPLY_LAYOUT_DOCUMENT_NAME)
                                                              .WithId(APPLY_LAYOUT_DOCUMENT_ID)
                                                              .WithDescription(APPLY_LAYOUT_DOCUMENT_DESCRIPTION)
                                                              .FromStream(fileStream2, DocumentType.PDF))
                                                .Build();

            packageId = eslClient.CreatePackage(packageFromLayout);

            // Apply the layout to document in package
            eslClient.LayoutService.ApplyLayout(packageId, APPLY_LAYOUT_DOCUMENT_ID, layoutId);

            packageWithLayout = eslClient.GetPackage(packageId);
        }
Example #10
0
        override public void Execute()
        {
            Stream   file     = File.OpenRead(new FileInfo(Directory.GetCurrentDirectory() + "/src/document.pdf").FullName);
            Document document = DocumentBuilder.NewDocumentNamed("First Document")
                                .WithId("doc1")
                                .FromStream(file, DocumentType.PDF)
                                .Build();

            DocumentPackage superDuperPackage =
                PackageBuilder.NewPackageNamed("CreateTemplateFromPackageExample: " + DateTime.Now)
                .DescribedAs("This is a package created using the e-SignLive SDK")
                .WithEmailMessage("This message should be delivered to all signers")
                .WithSigner(SignerBuilder.NewSignerPlaceholder(new Placeholder("PlaceholderId1")))
                .WithSigner(SignerBuilder.NewSignerPlaceholder(new Placeholder("PlaceholderId2")))
                .WithDocument(document)
                .Build();

            PackageId templateId = eslClient.CreateTemplate(superDuperPackage);

            superDuperPackage.Id = templateId;

            superDuperPackage.Description  = "Modified description";
            superDuperPackage.Name         = "Modified name";
            superDuperPackage.Autocomplete = false;

            eslClient.TemplateService.Update(superDuperPackage);

            document.Description = "Updated description";
            eslClient.TemplateService.UpdateDocumentMetadata(superDuperPackage, document);

            eslClient.TemplateService.DeleteDocument(templateId, "doc1");

            Console.WriteLine("Template {0} updated", templateId);

            PackageId instantiatedTemplate = eslClient.CreatePackageFromTemplate(templateId,
                                                                                 PackageBuilder.NewPackageNamed("Package From Template")
                                                                                 .WithSigner(SignerBuilder.NewSignerWithEmail(email1)
                                                                                             .WithFirstName("John1")
                                                                                             .WithLastName("Smith1")
                                                                                             .WithTitle("Managing Director1")
                                                                                             .WithCompany("Acme Inc.1")
                                                                                             .Replacing(new Placeholder("PlaceholderId1")))
                                                                                 .WithSigner(SignerBuilder.NewSignerWithEmail(email2)
                                                                                             .WithFirstName("John2")
                                                                                             .WithLastName("Smith2")
                                                                                             .WithTitle("Managing Director2")
                                                                                             .WithCompany("Acme Inc.2")
                                                                                             .Replacing(new Placeholder("PlaceholderId2")))
                                                                                 .Build());

            Console.Out.WriteLine("Package from template = " + instantiatedTemplate.Id);
        }
Example #11
0
 public void SignerLastNameCannotBeEmpty()
 {
     SignerBuilder.NewSignerWithEmail("*****@*****.**").WithFirstName("Billy").WithLastName(" ").Build();
 }
Example #12
0
 public void SignerEmailCannotBeEmpty()
 {
     SignerBuilder.NewSignerWithEmail(" ").WithFirstName("Billy").WithLastName("Bob").Build();
 }
Example #13
0
        override public void Execute()
        {
            DocumentPackage template = PackageBuilder.NewPackageNamed(TEMPLATE_NAME)
                                       .DescribedAs(PACKAGE_DESCRIPTION)
                                       .WithSigner(SignerBuilder.NewSignerWithEmail(email1)
                                                   .WithFirstName(TEMPLATE_SIGNER1_FIRST)
                                                   .WithLastName(TEMPLATE_SIGNER1_LAST))
                                       .WithDocument(DocumentBuilder.NewDocumentNamed(DOCUMENT_NAME)
                                                     .FromStream(fileStream1, DocumentType.PDF)
                                                     .WithSignature(SignatureBuilder.SignatureFor(email1)
                                                                    .OnPage(0)
                                                                    .AtPosition(400, 100)
                                                                    .WithField(FieldBuilder.TextField()
                                                                               .WithId(TEXTFIELD_ID)
                                                                               .OnPage(TEXTFIELD_PAGE)
                                                                               .AtPosition(textfieldPositionX, textfieldPositionY))
                                                                    .WithField(FieldBuilder.CheckBox()
                                                                               .WithId(CHECKBOX_1_ID)
                                                                               .OnPage(CHECKBOX_1_PAGE)
                                                                               .WithSize(checkbox1Width, checkbox1Height)
                                                                               .AtPosition(checkbox1PositionX, checkbox1PositionY))
                                                                    .WithField(FieldBuilder.CheckBox()
                                                                               .WithId(CHECKBOX_2_ID)
                                                                               .WithValue(CHECKBOX_2_VALUE)
                                                                               .OnPage(CHECKBOX_2_PAGE)
                                                                               .WithSize(checkbox2Width, checkbox2Height)
                                                                               .AtPosition(checkbox2PositionX, checkbox2PositionY))
                                                                    .WithField(FieldBuilder.RadioButton(RADIO_1_GROUP)
                                                                               .WithId(RADIO_1_ID)
                                                                               .OnPage(RADIO_1_PAGE)
                                                                               .WithSize(radio1Width, radio1Height)
                                                                               .AtPosition(radio1PositionX, radio1PositionY))
                                                                    .WithField(FieldBuilder.RadioButton(RADIO_2_GROUP)
                                                                               .WithId(RADIO_2_ID)
                                                                               .WithValue(RADIO_2_VALUE)
                                                                               .OnPage(RADIO_2_PAGE)
                                                                               .WithSize(radio2Width, radio2Height)
                                                                               .AtPosition(radio2PositionX, radio2PositionY))
                                                                    .WithField(FieldBuilder.DropList()
                                                                               .WithId(DROP_LIST_ID)
                                                                               .WithValue(DROP_LIST_OPTION2)
                                                                               .WithValidation(FieldValidatorBuilder.Basic()
                                                                                               .WithOption(DROP_LIST_OPTION1)
                                                                                               .WithOption(DROP_LIST_OPTION2)
                                                                                               .WithOption(DROP_LIST_OPTION3))
                                                                               .OnPage(DROP_LIST_PAGE)
                                                                               .WithSize(dropListWidth, dropListHeight)
                                                                               .AtPosition(dropListPositionX, dropListPositionY))
                                                                    .WithField(FieldBuilder.TextArea()
                                                                               .WithId(TEXT_AREA_ID)
                                                                               .WithValue(TEXT_AREA_VALUE)
                                                                               .OnPage(TEXT_AREA_PAGE)
                                                                               .WithSize(textAreaWidth, textAreaHeight)
                                                                               .AtPosition(textAreaPositionX, textAreaPositionY))
                                                                    .WithField(FieldBuilder.Label()
                                                                               .WithId(LABEL_ID)
                                                                               .WithValue(LABEL_VALUE)
                                                                               .OnPage(LABEL_PAGE)
                                                                               .WithSize(labelFieldWidth, labelFieldHeight)
                                                                               .AtPosition(labelFieldPositionX, labelFieldPositionY))))
                                       .Build();

            PackageId templateId = eslClient.CreateTemplate(template);

            template.Id = templateId;

            DocumentPackage newPackage = PackageBuilder.NewPackageNamed(PackageName)
                                         .DescribedAs(PACKAGE_DESCRIPTION)
                                         .WithEmailMessage(PACKAGE_EMAIL_MESSAGE)
                                         .WithSigner(SignerBuilder.NewSignerWithEmail(email2)
                                                     .WithFirstName(PACKAGE_SIGNER2_FIRST)
                                                     .WithLastName(PACKAGE_SIGNER2_LAST)
                                                     .WithTitle(PACKAGE_SIGNER2_TITLE)
                                                     .WithCompany(PACKAGE_SIGNER2_COMPANY)
                                                     .WithCustomId(PACKAGE_SIGNER2_CUSTOM_ID))
                                         .Build();

            packageId        = eslClient.CreatePackageFromTemplate(templateId, newPackage);
            retrievedPackage = eslClient.GetPackage(packageId);
        }
Example #14
0
        override public void Execute()
        {
            inviteUsersToMyAccount();
            displayAccountGroupsAndMembers();
            Group emptyGroup = GroupBuilder.NewGroup(Guid.NewGuid().ToString())
                               .WithId(new GroupId(Guid.NewGuid().ToString()))
                               .WithEmail("*****@*****.**")
                               .WithoutIndividualMemberEmailing()
                               .Build();

            createdEmptyGroup = ossClient.GroupService.CreateGroup(emptyGroup);
            List <GroupMember> retrievedEmptyGroup = ossClient.GroupService.GetGroupMembers(createdEmptyGroup.Id);

            GroupMember addMember = ossClient.GroupService.AddMember(createdEmptyGroup.Id,
                                                                     GroupMemberBuilder.NewGroupMember(email1)
                                                                     .AsMemberType(GroupMemberType.MANAGER)
                                                                     .Build());
            Group inviteMember = ossClient.GroupService.InviteMember(createdEmptyGroup.Id,
                                                                     GroupMemberBuilder.NewGroupMember(email3)
                                                                     .AsMemberType(GroupMemberType.MANAGER)
                                                                     .Build());

            Console.Out.WriteLine("GroupId: " + createdEmptyGroup.Id.Id);
            retrievedEmptyGroup = ossClient.GroupService.GetGroupMembers(createdEmptyGroup.Id);

            String groupName = Guid.NewGuid().ToString();
            Group  group1    = GroupBuilder.NewGroup(GROUP_NAME_PREFIX + groupName)
                               .WithId(new GroupId(Guid.NewGuid().ToString()))
                               .WithMember(GroupMemberBuilder.NewGroupMember(email1)
                                           .AsMemberType(GroupMemberType.MANAGER))
                               .WithMember(GroupMemberBuilder.NewGroupMember(email3)
                                           .AsMemberType(GroupMemberType.MANAGER))
                               .WithEmail(EMAIL)
                               .WithIndividualMemberEmailing()
                               .Build();

            createdGroup1 = ossClient.GroupService.CreateGroup(group1);
            Console.Out.WriteLine("GroupId #1: " + createdGroup1.Id.Id);

            ossClient.GroupService.AddMember(createdGroup1.Id,
                                             GroupMemberBuilder.NewGroupMember(email3)
                                             .AsMemberType(GroupMemberType.MANAGER)
                                             .Build());

            ossClient.GroupService.AddMember(createdGroup1.Id,
                                             GroupMemberBuilder.NewGroupMember(email4)
                                             .AsMemberType(GroupMemberType.REGULAR)
                                             .Build());

            retrievedGroup1 = ossClient.GroupService.GetGroup(createdGroup1.Id);
            // Retrieve by group name
            retrievedGroupByName1 = ossClient.GroupService.GetMyGroups(createdGroup1.Name);

            String groupName2 = Guid.NewGuid().ToString();
            Group  group2     = GroupBuilder.NewGroup(GROUP_NAME_PREFIX + groupName2)
                                .WithMember(GroupMemberBuilder.NewGroupMember(email2)
                                            .AsMemberType(GroupMemberType.MANAGER))
                                .WithEmail(EMAIL)
                                .WithIndividualMemberEmailing()
                                .Build();

            createdGroup2   = ossClient.GroupService.CreateGroup(group2);
            retrievedGroup2 = ossClient.GroupService.GetGroup(createdGroup2.Id);
            Console.Out.WriteLine("GroupId #2: " + createdGroup2.Id.Id);

            String groupName3 = Guid.NewGuid().ToString();
            Group  group3     = GroupBuilder.NewGroup(GROUP_NAME_PREFIX + groupName3)
                                .WithMember(GroupMemberBuilder.NewGroupMember(email3)
                                            .AsMemberType(GroupMemberType.MANAGER))
                                .WithEmail(EMAIL)
                                .WithIndividualMemberEmailing()
                                .Build();

            createdGroup3 = ossClient.GroupService.CreateGroup(group3);
            Console.Out.WriteLine("GroupId #3: " + createdGroup3.Id.Id);
            retrievedGroup3 = ossClient.GroupService.GetGroup(createdGroup3.Id);
            // Retrieve by group name
            retrievedByNamePrefix = ossClient.GroupService.GetMyGroups(GROUP_NAME_PREFIX);

            allGroupsBeforeDelete = ossClient.GroupService.GetMyGroups();

            allGroupsAfterDelete = ossClient.GroupService.GetMyGroups();

            Group updatedGroup = GroupBuilder.NewGroup(Guid.NewGuid().ToString())
                                 .WithMember(GroupMemberBuilder.NewGroupMember(email2)
                                             .AsMemberType(GroupMemberType.MANAGER))
                                 .WithMember(GroupMemberBuilder.NewGroupMember(email3)
                                             .AsMemberType(GroupMemberType.REGULAR))
                                 .WithMember(GroupMemberBuilder.NewGroupMember(email4)
                                             .AsMemberType(GroupMemberType.REGULAR))
                                 .WithEmail(EMAIL)
                                 .WithIndividualMemberEmailing()
                                 .Build();

            createdGroup3Updated = ossClient.GroupService.UpdateGroup(updatedGroup, createdGroup3.Id);

            groupMemberEmailsAfterUpdate = ossClient.GroupService.GetGroupMemberEmails(createdGroup3Updated.Id);

            DocumentPackage superDuperPackage = PackageBuilder.NewPackageNamed(PackageName)
                                                .WithSigner(SignerBuilder.NewSignerFromGroup(createdGroup1.Id)
                                                            .CanChangeSigner()
                                                            .DeliverSignedDocumentsByEmail())
                                                .WithDocument(DocumentBuilder.NewDocumentNamed("First Document")
                                                              .FromStream(fileStream1, DocumentType.PDF)
                                                              .WithSignature(SignatureBuilder.SignatureFor(createdGroup1.Id)
                                                                             .OnPage(0)
                                                                             .AtPosition(100, 100)))
                                                .Build();

            PackageId packageId = ossClient.CreatePackage(superDuperPackage);

            ossClient.SendPackage(packageId);

            ossClient.PackageService.NotifySigner(packageId, createdGroup1.Id);

            DocumentPackage result = ossClient.GetPackage(packageId);

            ossClient.GroupService.DeleteGroup(createdGroup1.Id);
            ossClient.GroupService.DeleteGroup(createdGroup2.Id);
            ossClient.GroupService.DeleteGroup(createdGroup3.Id);
        }
Example #15
0
        override public void Execute()
        {
            DocumentPackage package = PackageBuilder.NewPackageNamed(PackageName)
                                      .DescribedAs("This is a new package")
                                      .WithSigner(SignerBuilder.NewSignerWithEmail(email1)
                                                  .WithFirstName("John")
                                                  .WithLastName("Smith"))
                                      .WithDocument(DocumentBuilder.NewDocumentNamed(DOCUMENT_NAME)
                                                    .FromStream(fileStream1, DocumentType.PDF)
                                                    .WithSignature(SignatureBuilder.SignatureFor(email1)
                                                                   .OnPage(0)
                                                                   .AtPosition(500, 100)
                                                                   .WithField(FieldBuilder.TextField()
                                                                              .WithId(TEXTFIELD_ID)
                                                                              .WithFontSize(TEXTFIELD_FONT_SIZE)
                                                                              .OnPage(TEXTFIELD_PAGE)
                                                                              .AtPosition(500, 200))
                                                                   .WithField(FieldBuilder.CheckBox()
                                                                              .WithId(CHECKBOX_ID)
                                                                              .WithValue(CHECKBOX_VALUE)
                                                                              .OnPage(CHECKBOX_PAGE)
                                                                              .AtPosition(500, 300))
                                                                   .WithField(FieldBuilder.RadioButton(RADIO_GROUP_1)
                                                                              .WithId(RADIO_ID_1)
                                                                              .WithValue(false)
                                                                              .WithSize(RADIO_WIDTH, RADIO_HEIGHT)
                                                                              .OnPage(RADIO_PAGE)
                                                                              .AtPosition(500, 400))
                                                                   .WithField(FieldBuilder.RadioButton(RADIO_GROUP_1)
                                                                              .WithId(RADIO_ID_2)
                                                                              .WithValue(true)
                                                                              .WithSize(RADIO_WIDTH, RADIO_HEIGHT)
                                                                              .OnPage(RADIO_PAGE)
                                                                              .AtPosition(500, 450))
                                                                   .WithField(FieldBuilder.RadioButton(RADIO_GROUP_2)
                                                                              .WithId(RADIO_ID_3)
                                                                              .WithValue(true)
                                                                              .WithSize(RADIO_WIDTH, RADIO_HEIGHT)
                                                                              .OnPage(RADIO_PAGE)
                                                                              .AtPosition(500, 500))
                                                                   .WithField(FieldBuilder.RadioButton(RADIO_GROUP_2)
                                                                              .WithId(RADIO_ID_4)
                                                                              .WithValue(false)
                                                                              .WithSize(RADIO_WIDTH, RADIO_HEIGHT)
                                                                              .OnPage(RADIO_PAGE)
                                                                              .AtPosition(500, 550))
                                                                   .WithField(FieldBuilder.DropList()
                                                                              .WithId(DROP_LIST_ID)
                                                                              .WithValue(DROP_LIST_OPTION2)
                                                                              .WithFontSize(DROP_LIST_FONT_SIZE)
                                                                              .WithValidation(FieldValidatorBuilder.Basic()
                                                                                              .WithOption(DROP_LIST_OPTION1)
                                                                                              .WithOption(DROP_LIST_OPTION2)
                                                                                              .WithOption(DROP_LIST_OPTION3))
                                                                              .OnPage(DROP_LIST_PAGE)
                                                                              .WithSize(100, 200)
                                                                              .AtPosition(100, 100))
                                                                   .WithField(FieldBuilder.TextArea()
                                                                              .WithId(TEXT_AREA_ID)
                                                                              .WithValue(TEXT_AREA_VALUE)
                                                                              .WithFontSize(TEXT_AREA_FONT_SIZE)
                                                                              .OnPage(TEXT_AREA_PAGE)
                                                                              .WithSize(400, 600)
                                                                              .AtPosition(200, 200))
                                                                   .WithField(FieldBuilder.Label()
                                                                              .WithId(LABEL_ID)
                                                                              .WithValue(LABEL_VALUE)
                                                                              .WithFontSize(LABEL_FIELD_FONT_SIZE)
                                                                              .OnPage(LABEL_PAGE)
                                                                              .WithSize(100, 60)
                                                                              .AtPosition(220, 220))
                                                                   .WithField(FieldBuilder.Datepicker()
                                                                              .WithId(DATEPICKER_ID)
                                                                              .WithName(DATEPICKER_NAME)
                                                                              .WithValue(DATEPICKER_VALUE)
                                                                              .WithFontSize(DATEPICKER_FIELD_FONT_SIZE)
                                                                              .OnPage(DATEPICKER_PAGE)
                                                                              .WithSize(100, 60)
                                                                              .AtPosition(150, 150)
                                                                              .WithValidation(FieldValidatorBuilder.DatepickerFormat(DATEPICKER_FORMAT)
                                                                                              .Required()))))
                                      .Build();

            packageId = eslClient.CreatePackage(package);

            eslClient.SendPackage(PackageId);
            retrievedPackage = eslClient.GetPackage(packageId);
        }
Example #16
0
        override public void Execute()
        {
            Placeholder     signer1Id         = new Placeholder(Guid.NewGuid().ToString());
            DocumentPackage superDuperPackage =
                PackageBuilder.NewPackageNamed("SignerManipulationExample: " + DateTime.Now)
                .DescribedAs("This is a package created using the e-SignLive SDK")
                .WithSigner(SignerBuilder.NewSignerWithEmail(email1)
                            .WithFirstName("firstName1")
                            .WithLastName("lastName1")
                            .WithTitle("Title1")
                            )
                .WithSigner(SignerBuilder.NewSignerWithEmail(email2)
                            .WithFirstName("firstName2")
                            .WithLastName("lastName2")
                            .WithTitle("Title2")
                            )
                .Build();

            packageId = eslClient.CreatePackage(superDuperPackage);

            DocumentPackage createdPackage = eslClient.GetPackage(packageId);

            string signerId  = createdPackage.Signers[email1].Id;
            string signer2Id = createdPackage.Signers[email2].Id;

//            eslClient.SignerService.UpdateSigner( packageId, signerId, SignerBuilder.NewSignerWithEmail(email1)
//                                                                    .WithFirstName("firstName1b")
//                                                                    .WithLastName("lastName1b")
//                                                                    .WithTitle("title1b") );

            string addedSignerId = eslClient.PackageService.AddSigner(packageId,
                                                                      SignerBuilder.NewSignerWithEmail(email3)
                                                                      .WithFirstName("firstName3")
                                                                      .WithLastName("lastName3")
                                                                      .WithTitle("Title3")
                                                                      .Lock()
                                                                      .Build()
                                                                      );

            string placeHolderId = eslClient.PackageService.AddSigner(packageId,
                                                                      SignerBuilder.NewSignerPlaceholder(new Placeholder("placeHolderRoleId"))
                                                                      .Build()
                                                                      );

            Group  avengers           = eslClient.GroupService.CreateGroup(GroupBuilder.NewGroup(Guid.NewGuid().ToString()).WithEmail("*****@*****.**").Build());
            string addedGroupSignerId = eslClient.PackageService.AddSigner(packageId,
                                                                           SignerBuilder.NewSignerFromGroup(avengers.Id)
                                                                           .Build());

            eslClient.PackageService.RemoveSigner(packageId, placeHolderId);
            eslClient.PackageService.RemoveSigner(packageId, signerId);

            eslClient.PackageService.UpdateSigner(packageId, SignerBuilder.NewSignerWithEmail("*****@*****.**")
                                                  .WithCustomId(signer2Id)
                                                  .WithFirstName("updateFirstName1")
                                                  .WithLastName("updateLastName1")
                                                  .WithTitle("UpdatedTitle1")
                                                  .Build());

            Signer retrievedSigner = eslClient.PackageService.GetSigner(packageId, addedSignerId);

            //eslClient.SendPackage(packageId);
            eslClient.PackageService.UnlockSigner(PackageId, addedSignerId);
        }
        override public void Execute()
        {
            DocumentPackage superDuperPackage = PackageBuilder.NewPackageNamed("DocumentVisibilityExample: " + DateTime.Now)
                                                .WithSigner(SignerBuilder.NewSignerWithEmail(email1)
                                                            .WithCustomId(SIGNER1_ID)
                                                            .WithFirstName("John1")
                                                            .WithLastName("Smith1"))
                                                .WithSigner(SignerBuilder.NewSignerWithEmail(email2)
                                                            .WithCustomId(SIGNER2_ID)
                                                            .WithFirstName("John2")
                                                            .WithLastName("Smith2"))
                                                .WithSigner(SignerBuilder.NewSignerWithEmail(email3)
                                                            .WithCustomId(SIGNER3_ID)
                                                            .WithFirstName("John3")
                                                            .WithLastName("Smith3"))
                                                .WithDocument(DocumentBuilder.NewDocumentNamed(DOC1_NAME)
                                                              .WithId(DOC1_ID)
                                                              .FromStream(fileStream1, DocumentType.PDF)
                                                              .WithSignature(SignatureBuilder.SignatureFor(email1)
                                                                             .OnPage(0)
                                                                             .AtPosition(100, 100)))
                                                .WithDocument(DocumentBuilder.NewDocumentNamed(DOC2_NAME)
                                                              .WithId(DOC2_ID)
                                                              .FromStream(fileStream2, DocumentType.PDF)
                                                              .WithSignature(SignatureBuilder.SignatureFor(email2)
                                                                             .OnPage(0)
                                                                             .AtPosition(100, 100)))
                                                .WithDocument(DocumentBuilder.NewDocumentNamed(DOC3_NAME)
                                                              .WithId(DOC3_ID)
                                                              .FromStream(fileStream3, DocumentType.PDF)
                                                              .WithSignature(SignatureBuilder.SignatureFor(email3)
                                                                             .OnPage(0)
                                                                             .AtPosition(100, 100)))
                                                .Build();

            packageId = ossClient.CreatePackage(superDuperPackage);



            DocumentVisibility visibility = DocumentVisibilityBuilder.NewDocumentVisibility()
                                            .AddConfiguration(DocumentVisibilityConfigurationBuilder.NewDocumentVisibilityConfiguration(DOC1_ID)
                                                              .WithSignerIds(new List <string> {
                SIGNER1_ID, SIGNER3_ID
            }))
                                            .AddConfiguration(DocumentVisibilityConfigurationBuilder.NewDocumentVisibilityConfiguration(DOC2_ID)
                                                              .WithSignerIds(new List <string> {
                SIGNER2_ID, SIGNER3_ID
            }))
                                            .AddConfiguration(DocumentVisibilityConfigurationBuilder.NewDocumentVisibilityConfiguration(DOC3_ID)
                                                              .WithSignerIds(new List <string> {
                SIGNER3_ID, SIGNER2_ID
            }))
                                            .Build();

            //      You can also set up a document visibility based on signer.

            /*
             * DocumentVisibility visibility = DocumentVisibilityBasedOnSignerBuilder.NewDocumentVisibilityBasedOnSigner()
             *  .AddConfiguration(DocumentVisibilityConfigurationBasedOnSignerBuilder.NewDocumentVisibilityConfigurationBasedOnSigner(SIGNER1_ID)
             *      .WithDocumentIds(new List<string>{ DOC1_ID }))
             *  .AddConfiguration(DocumentVisibilityConfigurationBasedOnSignerBuilder.NewDocumentVisibilityConfigurationBasedOnSigner(SIGNER2_ID)
             *      .WithDocumentIds(new List<string>{ DOC2_ID, DOC3_ID }))
             *  .AddConfiguration(DocumentVisibilityConfigurationBasedOnSignerBuilder.NewDocumentVisibilityConfigurationBasedOnSigner(SIGNER3_ID)
             *      .WithDocumentIds(new List<string>{ DOC1_ID, DOC2_ID, DOC3_ID }))
             * .Build();
             */

            ossClient.ConfigureDocumentVisibility(packageId, visibility);

            retrievedVisibility = ossClient.getDocumentVisibility(packageId);

            ossClient.SendPackage(packageId);
            retrievedPackage = ossClient.GetPackage(packageId);

            documentsForSigner1 = ossClient.GetDocuments(packageId, SIGNER1_ID);
            documentsForSigner2 = ossClient.GetDocuments(packageId, SIGNER2_ID);
            documentsForSigner3 = ossClient.GetDocuments(packageId, SIGNER3_ID);

            signersForDocument1 = ossClient.GetSigners(packageId, DOC1_ID);
            signersForDocument2 = ossClient.GetSigners(packageId, DOC2_ID);
            signersForDocument3 = ossClient.GetSigners(packageId, DOC3_ID);
        }
Example #18
0
        override public void Execute()
        {
            DocumentPackage superDuperPackage =
                PackageBuilder.NewPackageNamed(PackageName)
                .DescribedAs("This is a package created using the eSignLive SDK")
                .ExpiresOn(DateTime.Now.AddMonths(100))
                .WithSigner(SignerBuilder.NewSignerWithEmail(email1)
                            .WithCustomId("signatureId1")
                            .WithFirstName("firstName1")
                            .WithLastName("lastName1"))
                .WithDocument(DocumentBuilder.NewDocumentNamed("FieldManipulationExample")
                              .WithId("documentId")
                              .FromStream(fileStream1, DocumentType.PDF)
                              .WithSignature(SignatureBuilder.SignatureFor(email1)
                                             .OnPage(0)
                                             .WithId(signatureId)
                                             .AtPosition(100, 100))
                              )
                .Build();

            packageId = ossClient.CreatePackage(superDuperPackage);

            field1 = FieldBuilder.RadioButton("group1")
                     .WithName("field1")
                     .WithId("fieldId1")
                     .AtPosition(400, 100)
                     .OnPage(0)
                     .Build();


            field2 = FieldBuilder.RadioButton("group1")
                     .WithName("field2")
                     .WithId("fieldId2")
                     .AtPosition(400, 200)
                     .OnPage(0)
                     .Build();

            field3 = FieldBuilder.RadioButton("group1")
                     .WithName("field3")
                     .WithId("fieldId3")
                     .AtPosition(400, 300)
                     .OnPage(0)
                     .Build();

            updatedField = FieldBuilder.RadioButton("group1")
                           .WithName("updatedField")
                           .WithId("fieldId3")
                           .AtPosition(400, 300)
                           .OnPage(0)
                           .Build();

            // Adding the fields
            ossClient.ApprovalService.AddField(packageId, documentId, signatureId, field1);
            ossClient.ApprovalService.AddField(packageId, documentId, signatureId, field2);
            ossClient.ApprovalService.AddField(packageId, documentId, signatureId, field3);

            createdPackage = ossClient.GetPackage(packageId);
            addedFields    = ossClient.ApprovalService.GetApproval(createdPackage, documentId, signatureId.Id).Fields;

            // Deleting field1
            ossClient.ApprovalService.DeleteField(packageId, documentId, signatureId, field1.Id);

            createdPackage = ossClient.GetPackage(packageId);
            deletedFields  = ossClient.ApprovalService.GetApproval(createdPackage, documentId, signatureId.Id).Fields;

            // Updating the information for the third field
            ossClient.ApprovalService.ModifyField(packageId, documentId, signatureId, updatedField);

            createdPackage = ossClient.GetPackage(packageId);
            updatedFields  = ossClient.ApprovalService.GetApproval(createdPackage, documentId, signatureId.Id).Fields;
        }
Example #19
0
        override public void Execute()
        {
            externalDocumentName = "External Document " + DateTime.Now;

            DocumentPackage superDuperPackage =
                PackageBuilder.NewPackageNamed("ExternalPackage: " + DateTime.Now)
                .DescribedAs("This is a package created using the e-SignLive SDK")
                .ExpiresOn(DateTime.Now.AddMonths(100))
                .WithEmailMessage("This message should be delivered to all signers")
                .WithSigner(SignerBuilder.NewSignerWithEmail(email1)
                            .WithCustomId("Client1")
                            .WithFirstName("John")
                            .WithLastName("Smith")
                            .WithTitle("Managing Director")
                            .WithCompany("Acme Inc.")
                            )
                .WithSigner(SignerBuilder.NewSignerWithEmail(email2)
                            .WithFirstName("Patty")
                            .WithLastName("Galant")
                            )
                .WithDocument(DocumentBuilder.NewDocumentNamed(externalDocumentName)
                              .FromStream(fileStream1, DocumentType.PDF)
                              .WithSignature(SignatureBuilder.SignatureFor(email1)
                                             .OnPage(0)
                                             .AtPosition(100, 100)
                                             )
                              )
                .Build();

            packageId = eslClient.CreatePackageOneStep(superDuperPackage);
            eslClient.SendPackage(packageId);

            DocumentPackage documentWithExternalContent =
                PackageBuilder.NewPackageNamed("HistoryDocumentExample: " + DateTime.Now)
                .DescribedAs("This is a package created using the e-SignLive SDK")
                .ExpiresOn(DateTime.Now.AddMonths(100))
                .WithEmailMessage("This message should be delivered to all signers")
                .WithSigner(SignerBuilder.NewSignerWithEmail(email1)
                            .WithCustomId("Client1")
                            .WithFirstName("John")
                            .WithLastName("Smith")
                            .WithTitle("Managing Director")
                            .WithCompany("Acme Inc.")
                            )
                .WithSigner(SignerBuilder.NewSignerWithEmail(email2)
                            .WithFirstName("Patty")
                            .WithLastName("Galant")
                            )
                .WithDocument(DocumentBuilder.NewDocumentNamed("First Document")
                              .FromStream(fileStream2, DocumentType.PDF)
                              .WithSignature(SignatureBuilder.SignatureFor(email2)
                                             .OnPage(0)
                                             .AtPosition(100, 100)
                                             )
                              )
                .Build();

            packageId = eslClient.CreatePackageOneStep(superDuperPackage);

            IList <Silanis.ESL.SDK.Document> documentsHistory  = eslClient.PackageService.GetDocuments();
            IList <Silanis.ESL.SDK.Document> externalDocuments = new List <Silanis.ESL.SDK.Document>();

            foreach (Silanis.ESL.SDK.Document document in documentsHistory)
            {
                if (document.Name == externalDocumentName)
                {
                    externalDocuments.Add(document);
                }
            }

            eslClient.PackageService.AddDocumentWithExternalContent(packageId.Id, externalDocuments);
            retrievedPackage = eslClient.GetPackage(packageId);
        }
Example #20
0
        private OneSpanSign.Sdk.Signer NewRegularSignerFromAPIRole()
        {
            OneSpanSign.API.Signer eslSigner = apiRole.Signers[0];

            SignerBuilder builder = SignerBuilder.NewSignerWithEmail(eslSigner.Email)
                                    .WithCustomId(eslSigner.Id)
                                    .WithFirstName(eslSigner.FirstName)
                                    .WithLastName(eslSigner.LastName)
                                    .WithCompany(eslSigner.Company)
                                    .WithLanguage(eslSigner.Language)
                                    .WithTitle(eslSigner.Title)
                                    .ChallengedWithKnowledgeBasedAuthentication(new KnowledgeBasedAuthenticationConverter(eslSigner.KnowledgeBasedAuthentication).ToSDKKnowledgeBasedAuthentication());

            if (apiRole.Index.HasValue)
            {
                builder.SigningOrder(apiRole.Index.Value);
            }

            foreach (OneSpanSign.API.AttachmentRequirement attachmentRequirement in apiRole.AttachmentRequirements)
            {
                builder.WithAttachmentRequirement(new AttachmentRequirementConverter(attachmentRequirement).ToSDKAttachmentRequirement());
            }

            if (apiRole.Id != null)
            {
                builder.WithCustomId(apiRole.Id);
            }

            if (apiRole.Reassign.Value)
            {
                builder.CanChangeSigner();
            }

            if (apiRole.EmailMessage != null)
            {
                builder.WithEmailMessage(apiRole.EmailMessage.Content);
            }

            if (eslSigner.Delivery != null && eslSigner.Delivery.Email.Value)
            {
                builder.DeliverSignedDocumentsByEmail();
            }

            builder.WithAuthentication(new AuthenticationConverter(eslSigner.Auth).ToSDKAuthentication());

            Signer signer = builder.Build();

            if (apiSigner.SignerType != null)
            {
                signer.SignerType = apiSigner.SignerType;
            }

            if (apiRole.Locked.Value)
            {
                signer.Locked = true;
            }

            IDictionary <string, object> apiRoleData = apiRole.Data;

            if (apiRoleData != null && apiRoleData.ContainsKey("localLanguage"))
            {
                object localLanguage = apiRoleData["localLanguage"];
                if (localLanguage != null)
                {
                    signer.LocalLanguage = localLanguage.ToString();
                }
            }

            return(signer);
        }
        override public void Execute()
        {
            DocumentPackage superDuperPackage =
                PackageBuilder.NewPackageNamed(PackageName)
                .DescribedAs("This is a package created using the eSignLive SDK")
                .ExpiresOn(DateTime.Now.AddMonths(100))
                .WithEmailMessage("This message should be delivered to all signers")
                .WithSigner(SignerBuilder.NewSignerWithEmail(email1)
                            .WithCustomId("Client1")
                            .WithFirstName("John")
                            .WithLastName("Smith")
                            .WithTitle("Managing Director")
                            .WithCompany("Acme Inc.")
                            )
                .WithDocument(DocumentBuilder.NewDocumentNamed("First Document")
                              .FromStream(fileStream1, DocumentType.PDF)
                              .WithSignature(SignatureBuilder.SignatureFor(email1)
                                             .OnPage(0)
                                             .WithField(FieldBuilder.CheckBox()
                                                        .OnPage(0)
                                                        .AtPosition(400, 200)
                                                        .WithValue(FieldBuilder.CHECKBOX_CHECKED)
                                                        )
                                             .AtPosition(100, 100)
                                             )
                              )
                .Build();

            packageId = eslClient.CreatePackage(superDuperPackage);

            DocumentPackage superDuperPackage2 =
                PackageBuilder.NewPackageNamed("DownloadReportForSent: " + DateTime.Now)
                .DescribedAs("This is a package created using the eSignLive SDK")
                .ExpiresOn(DateTime.Now.AddMonths(100))
                .WithEmailMessage("This message should be delivered to all signers")
                .WithSigner(SignerBuilder.NewSignerWithEmail(email1)
                            .WithCustomId("Client1")
                            .WithFirstName("John")
                            .WithLastName("Smith")
                            .WithTitle("Managing Director")
                            .WithCompany("Acme Inc.")
                            )
                .WithDocument(DocumentBuilder.NewDocumentNamed("First Document")
                              .FromStream(fileStream2, DocumentType.PDF)
                              .WithSignature(SignatureBuilder.SignatureFor(email1)
                                             .OnPage(0)
                                             .WithField(FieldBuilder.CheckBox()
                                                        .OnPage(0)
                                                        .AtPosition(400, 200)
                                                        .WithValue(FieldBuilder.CHECKBOX_CHECKED)
                                                        )
                                             .AtPosition(100, 100)
                                             )
                              )
                .Build();

            package2Id = eslClient.CreateAndSendPackage(superDuperPackage2);

            // Date and time range to get completion report.
            DateTime from = DateTime.Now.AddMinutes(-5);
            DateTime to   = DateTime.Now.AddMinutes(5);

            // Download the completion report for a sender
            sdkCompletionReportForSenderDraft = eslClient.ReportService.DownloadCompletionReport(DocumentPackageStatus.DRAFT, senderUID, from, to);
            csvCompletionReportForSenderDraft = eslClient.ReportService.DownloadCompletionReportAsCSV(DocumentPackageStatus.DRAFT, senderUID, from, to);

            sdkCompletionReportForSenderSent = eslClient.ReportService.DownloadCompletionReport(DocumentPackageStatus.SENT, senderUID, from, to);
            csvCompletionReportForSenderSent = eslClient.ReportService.DownloadCompletionReportAsCSV(DocumentPackageStatus.SENT, senderUID, from, to);

            // Download the completion report for all senders
            sdkCompletionReportDraft = eslClient.ReportService.DownloadCompletionReport(DocumentPackageStatus.DRAFT, from, to);
            csvCompletionReportDraft = eslClient.ReportService.DownloadCompletionReportAsCSV(DocumentPackageStatus.DRAFT, from, to);

            sdkCompletionReportSent = eslClient.ReportService.DownloadCompletionReport(DocumentPackageStatus.SENT, from, to);
            csvCompletionReportSent = eslClient.ReportService.DownloadCompletionReportAsCSV(DocumentPackageStatus.SENT, from, to);

            // Download the usage report
            sdkUsageReport = eslClient.ReportService.DownloadUsageReport(from, to);
            csvUsageReport = eslClient.ReportService.DownloadUsageReportAsCSV(from, to);

            // Download the delegation report for a sender
            sdkDelegationReportForAccountWithoutDate = eslClient.ReportService.DownloadDelegationReport();
            csvDelegationReportForAccountWithoutDate = eslClient.ReportService.DownloadDelegationReportAsCSV();

            sdkDelegationReportForAccount = eslClient.ReportService.DownloadDelegationReport(from, to);
            csvDelegationReportForAccount = eslClient.ReportService.DownloadDelegationReportAsCSV(from, to);

            sdkDelegationReportForSender = eslClient.ReportService.DownloadDelegationReport(senderUID, from, to);
            csvDelegationReportForSender = eslClient.ReportService.DownloadDelegationReportAsCSV(senderUID, from, to);
        }
        override public void Execute()
        {
            DocumentPackage superDuperPackage = PackageBuilder.NewPackageNamed(packageName)
                                                .DescribedAs("This is a package created using the eSignLive SDK")
                                                .WithEmailMessage("This message should be delivered to all signers")
                                                .WithSigner(SignerBuilder.NewSignerWithEmail(email1)
                                                            .WithCustomId("signer1")
                                                            .WithFirstName("firstName1")
                                                            .WithLastName("lastName1"))
                                                .WithDocument(DocumentBuilder.NewDocumentNamed("PackageReferencedConditionsExampleDocument1")
                                                              .FromStream(fileStream1, DocumentType.PDF)
                                                              .WithId(DOCUMENT_ID_1)
                                                              .WithSignature(SignatureBuilder.SignatureFor(email1)
                                                                             .OnPage(0)
                                                                             .AtPosition(100, 100)
                                                                             .WithId(signatureId1)
                                                                             .WithField(FieldBuilder.TextField()
                                                                                        .WithName("field1")
                                                                                        .WithId(fieldId1)
                                                                                        .AtPosition(400, 100)
                                                                                        .OnPage(0)
                                                                                        .Build())
                                                                             .WithField(FieldBuilder.TextField()
                                                                                        .WithName("field2")
                                                                                        .WithId(fieldId2)
                                                                                        .AtPosition(400, 200)
                                                                                        .OnPage(0)
                                                                                        .Build())
                                                                             .WithField(FieldBuilder.TextField()
                                                                                        .WithName("field3")
                                                                                        .WithId(fieldId3)
                                                                                        .AtPosition(400, 300)
                                                                                        .OnPage(0)
                                                                                        .Build())
                                                                             )
                                                              )
                                                .WithDocument(DocumentBuilder.NewDocumentNamed("PackageReferencedConditionsExampleDocument2")
                                                              .FromStream(fileStream2, DocumentType.PDF)
                                                              .WithId(DOCUMENT_ID_2)
                                                              .WithSignature(SignatureBuilder.SignatureFor(email1)
                                                                             .OnPage(0)
                                                                             .AtPosition(100, 400)
                                                                             .WithId(signatureId2)
                                                                             .WithField(FieldBuilder.TextField()
                                                                                        .WithName("field4")
                                                                                        .WithId(fieldId4)
                                                                                        .AtPosition(400, 100)
                                                                                        .OnPage(0)
                                                                                        .Build())
                                                                             .WithField(FieldBuilder.TextField()
                                                                                        .WithName("field5")
                                                                                        .WithId(fieldId5)
                                                                                        .AtPosition(400, 200)
                                                                                        .OnPage(0)
                                                                                        .Build())
                                                                             .WithField(FieldBuilder.TextField()
                                                                                        .WithName("field6")
                                                                                        .WithId(fieldId6)
                                                                                        .AtPosition(400, 300)
                                                                                        .OnPage(0)
                                                                                        .Build())
                                                                             )
                                                              )
                                                .WithCondition(createCondition("condition1", DOCUMENT_ID_1, fieldId1, DOCUMENT_ID_1, fieldId2))
                                                .WithCondition(createCondition("condition2", DOCUMENT_ID_1, fieldId1, DOCUMENT_ID_1, fieldId3))
                                                .WithCondition(createCondition("condition3", DOCUMENT_ID_2, fieldId4, DOCUMENT_ID_2, fieldId5))
                                                .Build();

            packageId = ossClient.CreatePackageOneStep(superDuperPackage);

            PackageLevelRefConditions  = ossClient.PackageService.GetReferencedConditions(packageId.Id);
            DocumentLevelRefConditions = ossClient.PackageService.GetReferencedConditions(packageId.Id, DOCUMENT_ID_1);
            FieldLevelRefConditions    = ossClient.PackageService.GetReferencedConditions(packageId.Id, DOCUMENT_ID_1, fieldId1);
        }
Example #23
0
 public void SignerEmailCannotBeEmpty()
 {
     Assert.Throws <EslException>(() => SignerBuilder.NewSignerWithEmail(" ").WithFirstName("Billy").WithLastName("Bob").Build());
 }
        internal Silanis.ESL.SDK.DocumentPackage ToSDKPackage()
        {
            if (apiPackage == null)
            {
                return(sdkPackage);
            }

            PackageBuilder packageBuilder = PackageBuilder.NewPackageNamed(apiPackage.Name);

            packageBuilder.WithID(new PackageId(apiPackage.Id));

            if (apiPackage.Autocomplete.Value)
            {
                packageBuilder.WithAutomaticCompletion();
            }
            else
            {
                packageBuilder.WithoutAutomaticCompletion();
            }

            packageBuilder.ExpiresOn(apiPackage.Due);
            packageBuilder.WithStatus(new PackageStatusConverter(apiPackage.Status).ToSDKPackageStatus());


            if (apiPackage.Description != null)
            {
                packageBuilder.DescribedAs(apiPackage.Description);
            }

            if (apiPackage.EmailMessage != null)
            {
                packageBuilder.WithEmailMessage(apiPackage.EmailMessage);
            }

            if (apiPackage.Language != null)
            {
                packageBuilder.WithLanguage(new CultureInfo(apiPackage.Language));
            }

            if (apiPackage.Settings != null)
            {
                packageBuilder.WithSettings(new DocumentPackageSettingsConverter(apiPackage.Settings).toSDKDocumentPackageSettings());
            }

            if (apiPackage.Sender != null)
            {
                packageBuilder.WithSenderInfo(new SenderConverter(apiPackage.Sender).ToSDKSenderInfo());
            }

            if (apiPackage.Notarized != null)
            {
                packageBuilder.WithNotarized(apiPackage.Notarized);
            }

            if (apiPackage.Trashed != null)
            {
                packageBuilder.WithTrashed(apiPackage.Trashed.Value);
            }

            if (apiPackage.Visibility != null)
            {
                packageBuilder.WithVisibility(new VisibilityConverter(apiPackage.Visibility).ToSDKVisibility());
            }

            packageBuilder.WithAttributes(new DocumentPackageAttributesBuilder(apiPackage.Data).Build());

            foreach (Silanis.ESL.API.Role role in apiPackage.Roles)
            {
                if (role.Signers.Count == 0)
                {
                    packageBuilder.WithSigner(SignerBuilder.NewSignerPlaceholder(new Placeholder(role.Id, role.Name, role.Index)));
                }
                else if (role.Signers[0].Group != null)
                {
                    packageBuilder.WithSigner(SignerBuilder.NewSignerFromGroup(new GroupId(role.Signers[0].Group.Id)));
                }
                else
                {
                    packageBuilder.WithSigner(new SignerConverter(role).ToSDKSigner());

                    // The custom sender information is stored in the role.signer object.
                    if ("SENDER".Equals(role.Type))
                    {
                        // Override sender info with the customized ones.
                        Silanis.ESL.SDK.SenderInfo senderInfo = new Silanis.ESL.SDK.SenderInfo();

                        Silanis.ESL.API.Signer signer = role.Signers[0];
                        senderInfo.FirstName = signer.FirstName;
                        senderInfo.LastName  = signer.LastName;
                        senderInfo.Title     = signer.Title;
                        senderInfo.Company   = signer.Company;
                        senderInfo.Email     = signer.Email;

                        packageBuilder.WithSenderInfo(senderInfo);
                    }
                }
            }

            foreach (Silanis.ESL.API.Document apiDocument in apiPackage.Documents)
            {
                Document document = new DocumentConverter(apiDocument, apiPackage).ToSDKDocument();
                packageBuilder.WithDocument(document);
            }

            DocumentPackage documentPackage = packageBuilder.Build();

            IList <Message> messages = new List <Message>();

            foreach (Silanis.ESL.API.Message apiMessage in apiPackage.Messages)
            {
                messages.Add(new MessageConverter(apiMessage).ToSDKMessage());
            }
            documentPackage.Messages = messages;
            if (apiPackage.Updated != null)
            {
                documentPackage.UpdatedDate = apiPackage.Updated;
            }

            if (apiPackage.Created != null)
            {
                documentPackage.CreatedDate = apiPackage.Created;
            }

            return(documentPackage);
        }
Example #25
0
        override public void Execute()
        {
            DocumentPackage superDuperPackage =
                PackageBuilder.NewPackageNamed("DownloadReport: " + DateTime.Now)
                .DescribedAs("This is a package created using the e-SignLive SDK")
                .ExpiresOn(DateTime.Now.AddMonths(100))
                .WithEmailMessage("This message should be delivered to all signers")
                .WithSigner(SignerBuilder.NewSignerWithEmail(email1)
                            .WithCustomId("Client1")
                            .WithFirstName("John")
                            .WithLastName("Smith")
                            .WithTitle("Managing Director")
                            .WithCompany("Acme Inc.")
                            )
                .WithDocument(DocumentBuilder.NewDocumentNamed("First Document")
                              .FromStream(fileStream1, DocumentType.PDF)
                              .WithSignature(SignatureBuilder.SignatureFor(email1)
                                             .OnPage(0)
                                             .WithField(FieldBuilder.CheckBox()
                                                        .OnPage(0)
                                                        .AtPosition(400, 200)
                                                        .WithValue(FieldBuilder.CHECKBOX_CHECKED)
                                                        )
                                             .AtPosition(100, 100)
                                             )
                              )
                .Build();

            packageId = eslClient.CreatePackage(superDuperPackage);

            // Date and time range to get completion report.
            DateTime from = DateTime.Today.AddDays(-1);
            DateTime to   = DateTime.Now;

            // Download the completion report for a sender
            sdkCompletionReportForSender = eslClient.ReportService.DownloadCompletionReport(DocumentPackageStatus.DRAFT, senderUID, from, to);
            csvCompletionReportForSender = eslClient.ReportService.DownloadCompletionReportAsCSV(DocumentPackageStatus.DRAFT, senderUID, from, to);

            // Display package id and name of packages in DRAFT from sender
            foreach (SenderCompletionReport senderCompletionReport in sdkCompletionReportForSender.Senders)
            {
                Console.Write("Sender: " + senderCompletionReport.Sender.Email);
                Console.WriteLine(" has " + senderCompletionReport.Packages.Count + " packages in DRAFT");
                foreach (PackageCompletionReport packageCompletionReport in senderCompletionReport.Packages)
                {
                    Console.WriteLine(packageCompletionReport.Id + " , " + packageCompletionReport.Name + " , Sender : " + eslClient.GetPackage(new PackageId(packageCompletionReport.Id)).SenderInfo.Email);
                }
            }

            // Download the completion report for all senders
            sdkCompletionReport = eslClient.ReportService.DownloadCompletionReport(DocumentPackageStatus.DRAFT, from, to);
            csvCompletionReport = eslClient.ReportService.DownloadCompletionReportAsCSV(DocumentPackageStatus.DRAFT, from, to);

            // Display package id and name of packages in DRAFT from sender
            foreach (SenderCompletionReport senderCompletionReport in sdkCompletionReport.Senders)
            {
                Console.Write("Sender: " + senderCompletionReport.Sender.Email);
                Console.WriteLine(" has " + senderCompletionReport.Packages.Count + " packages in DRAFT");
                foreach (PackageCompletionReport packageCompletionReport in senderCompletionReport.Packages)
                {
                    Console.WriteLine(packageCompletionReport.Id + " , " + packageCompletionReport.Name + " , Sender : " + eslClient.GetPackage(new PackageId(packageCompletionReport.Id)).SenderInfo.Email);
                }
            }

            // Download the usage report
            sdkUsageReport = eslClient.ReportService.DownloadUsageReport(from, to);
            csvUsageReport = eslClient.ReportService.DownloadUsageReportAsCSV(from, to);

            // Download the delegation report for a sender
            sdkDelegationReport = eslClient.ReportService.DownloadDelegationReport(senderUID, from, to);
            csvDelegationReport = eslClient.ReportService.DownloadDelegationReportAsCSV(senderUID, from, to);
        }