Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private EnvelopeDefinition buildEnvelopeDefinition(DocumentGroup documentGroup) {
- return new EnvelopeDefinition()
- .recipients(fromRecipients(documentGroup.getSignatories(), documentGroup.getCcRecipients())) // setting recipients
- .emailSubject("email subject")
- .documents(fromDocuments(documentGroup.getDocuments())) // creating documents on the envelope
- .status("sent");
- }
- private static List<com.docusign.esign.model.Document> fromDocuments(List<Document> documents) {
- return IntStream.range(0, documents.size()).mapToObj(documentIndex -> {
- Document document = documents.get(documentIndex);
- return new com.docusign.esign.model.Document()
- .documentId(Integer.toString(documentIndex + 1))
- .name(document.getName())
- .documentBase64(new String(Base64.encode(document.getContent())))
- .fileExtension(document.getType())
- .transformPdfFields("true"); // setting the transformPdfFields to true per document
- }).collect(Collectors.toList());
- }
- private static Recipients fromRecipients(List<Recipient> signatories, List<Recipient> cc) {
- Recipients recipients = new Recipients();
- List<Signer> signatoryList = new ArrayList<>();
- List<CarbonCopy> copyList = new ArrayList<>();
- int recipientCount = 1;
- for (Recipient r : signatories) {
- Signer signer = new Signer();
- signer.setEmail(r.getEmail());
- signer.setName(r.getName());
- signer.setRoleName("signer");
- signer.setRecipientId(Integer.toString(recipientCount));
- signer.setRoutingOrder(Integer.toString(recipientCount));
- SignHere signHere = new SignHere();
- // signHere.setTabLabel("DocuSignSignHere");
- signHere.setTabLabel("DocuSignSignHere " + recipientCount);
- Tabs signerTabs = new Tabs();
- signerTabs.setSignHereTabs(Arrays.asList(signHere));
- signer.setTabs(signerTabs);
- signatoryList.add(signer);
- recipientCount++;
- }
- for (Recipient r : cc) {
- CarbonCopy c = new CarbonCopy();
- c.setEmail(r.getEmail());
- c.setName(r.getName());
- c.setRoleName("cc");
- c.setRecipientId(Integer.toString(recipientCount));
- c.setRoutingOrder(Integer.toString(recipientCount));
- copyList.add(c);
- recipientCount++;
- }
- recipients.setSigners(signatoryList);
- recipients.setCarbonCopies(copyList);
- return recipients;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement