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); }
public void SignerLastNameCannotBeEmpty() { Assert.Throws <OssException>(() => SignerBuilder.NewSignerWithEmail("*****@*****.**").WithFirstName("Billy").WithLastName(" ").Build()); }
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(); }
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); }
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; }
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); }
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); }
public void SignerLastNameCannotBeEmpty() { SignerBuilder.NewSignerWithEmail("*****@*****.**").WithFirstName("Billy").WithLastName(" ").Build(); }
public void SignerEmailCannotBeEmpty() { SignerBuilder.NewSignerWithEmail(" ").WithFirstName("Billy").WithLastName("Bob").Build(); }
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); }
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); }
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); }
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); }
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; }
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); }
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); }
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); }
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); }