Beispiel #1
0
        public ActionResult <string> DocusignGBME9Request(GBME9Request getData)
        {
            var emailTemplate    = new EmailTemplate("Signature Request", "Hello please read the document and provide your signature in respective fields.");
            var docuSignTemplate = new DocuSignTemplate(getData.TemplateId, new List <string> {
                "Signer"
            });
            var docuSignCredentials = new DocuSignCredentials(Configuration.GetSection("ClientEndPoints").GetSection("AccountUserName").Value, Configuration.GetSection("ClientEndPoints").GetSection("AccountPassword").Value, Configuration.GetSection("ClientEndPoints").GetSection("IntegratedKey").Value);
            var documentGenerator   = new GenerateDocumentGBME9(docuSignCredentials, emailTemplate, docuSignTemplate);
            var returnedURL         = documentGenerator.GenerateDocument(getData);

            return(new JsonResult(returnedURL));
        }
        public ViewUrl GenerateDocument(GBME9Request getData)
        {
            string clientUserId   = "1234";
            var    docuSignClient = new DocuSignClient(this.DocuSignCredentials);
            var    accountId      = docuSignClient.AccountId;

            string signerEmail  = getData.RecipientEmail;
            string signerName   = "";
            string RecipientId  = "1";
            string RoutingOrder = "1";
            // Create the signer recipient object
            Signer signer = new Signer
            {
                Email        = signerEmail,
                Name         = signerName,
                ClientUserId = clientUserId,
                RecipientId  = RecipientId,
                RoutingOrder = RoutingOrder,
                RoleName     = DocuSignTemplate.TemplateRoleNames.FirstOrDefault()
            };

            // Create the sign here tab (signing field on the document)
            var tabs = new List <Text> {
                new Text {
                    TabLabel = "LastName", Value = getData.LastName
                },
                new Text {
                    TabLabel = "FirstName", Value = getData.FirstName
                },
                new Text {
                    TabLabel = "MiddleName", Value = getData.MiddleName
                },
                new Text {
                    TabLabel = "PrvsLastName", Value = getData.PreviousLastName
                },
                new Text {
                    TabLabel = "PrvsFirstName", Value = getData.PreviousFirstName
                },
                new Text {
                    TabLabel = "SSN", Value = "xxxxxxxxx"
                },
                new Text {
                    TabLabel = "DateOfBirth", Value = getData.DateOfBirth
                },
                new Text {
                    TabLabel = "GuamLicense", Value = getData.GuamLicenseNo
                },
                new Text {
                    TabLabel = "ExpirationDate", Value = getData.ExpirationDate
                },
                new Text {
                    TabLabel = "Course1", Value = getData.Course1
                },
                new Text {
                    TabLabel = "Sponsored1", Value = getData.Sponsored1
                },
                new Text {
                    TabLabel = "Attended1", Value = getData.Attended1
                },
                new Text {
                    TabLabel = "Approved1", Value = getData.Approved1
                },
                new Text {
                    TabLabel = "Category1", Value = getData.Category1
                },
                new Text {
                    TabLabel = "CreditHour1", Value = getData.CreditHour1
                },
                new Text {
                    TabLabel = "Course2", Value = getData.Course2
                },
                new Text {
                    TabLabel = "Sponsored2", Value = getData.Sponsored2
                },
                new Text {
                    TabLabel = "Attended2", Value = getData.Attended2
                },
                new Text {
                    TabLabel = "Approved2", Value = getData.Approved2
                },
                new Text {
                    TabLabel = "Category2", Value = getData.Category2
                },
                new Text {
                    TabLabel = "CreditHour2", Value = getData.CreditHour2
                },
                new Text {
                    TabLabel = "Course3", Value = getData.Course3
                },
                new Text {
                    TabLabel = "Sponsored3", Value = getData.Sponsored3
                },
                new Text {
                    TabLabel = "Attended3", Value = getData.Attended3
                },
                new Text {
                    TabLabel = "Approved3", Value = getData.Approved3
                },
                new Text {
                    TabLabel = "Category3", Value = getData.Category3
                },
                new Text {
                    TabLabel = "CreditHour3", Value = getData.CreditHour3
                },
                new Text {
                    TabLabel = "Course4", Value = getData.Course4
                },
                new Text {
                    TabLabel = "Sponsored4", Value = getData.Sponsored4
                },
                new Text {
                    TabLabel = "Attended4", Value = getData.Attended4
                },
                new Text {
                    TabLabel = "Approved4", Value = getData.Approved4
                },
                new Text {
                    TabLabel = "Category4", Value = getData.Category4
                },
                new Text {
                    TabLabel = "CreditHour4", Value = getData.CreditHour4
                },
                new Text {
                    TabLabel = "Course5", Value = getData.Course5
                },
                new Text {
                    TabLabel = "Sponsored5", Value = getData.Sponsored5
                },
                new Text {
                    TabLabel = "Attended5", Value = getData.Attended5
                },
                new Text {
                    TabLabel = "Approved5", Value = getData.Approved5
                },
                new Text {
                    TabLabel = "Category5", Value = getData.Category5
                },
                new Text {
                    TabLabel = "CreditHour5", Value = getData.CreditHour5
                },
                new Text {
                    TabLabel = "Course6", Value = getData.Course6
                },
                new Text {
                    TabLabel = "Sponsored6", Value = getData.Sponsored6
                },
                new Text {
                    TabLabel = "Attended6", Value = getData.Attended6
                },
                new Text {
                    TabLabel = "Approved6", Value = getData.Approved6
                },
                new Text {
                    TabLabel = "Category6", Value = getData.Category6
                },
                new Text {
                    TabLabel = "CreditHour6", Value = getData.CreditHour6
                },
                new Text {
                    TabLabel = "Course7", Value = getData.Course7
                },
                new Text {
                    TabLabel = "Sponsored7", Value = getData.Sponsored7
                },
                new Text {
                    TabLabel = "Attended7", Value = getData.Attended7
                },
                new Text {
                    TabLabel = "Approved7", Value = getData.Approved7
                },
                new Text {
                    TabLabel = "Category7", Value = getData.Category7
                },
                new Text {
                    TabLabel = "CreditHour7", Value = getData.CreditHour7
                },
                new Text {
                    TabLabel = "Course8", Value = getData.Course8
                },
                new Text {
                    TabLabel = "Sponsored8", Value = getData.Sponsored8
                },
                new Text {
                    TabLabel = "Attended8", Value = getData.Attended8
                },
                new Text {
                    TabLabel = "Approved8", Value = getData.Approved8
                },
                new Text {
                    TabLabel = "Category8", Value = getData.Category8
                },
                new Text {
                    TabLabel = "CreditHour8", Value = getData.CreditHour8
                },
                new Text {
                    TabLabel = "Course9", Value = getData.Course9
                },
                new Text {
                    TabLabel = "Sponsored9", Value = getData.Sponsored9
                },
                new Text {
                    TabLabel = "Attended9", Value = getData.Attended9
                },
                new Text {
                    TabLabel = "Approved9", Value = getData.Approved9
                },
                new Text {
                    TabLabel = "Category9", Value = getData.Category9
                },
                new Text {
                    TabLabel = "CreditHour9", Value = getData.CreditHour9
                },
                new Text {
                    TabLabel = "Course10", Value = getData.Course10
                },
                new Text {
                    TabLabel = "Sponsored10", Value = getData.Sponsored10
                },
                new Text {
                    TabLabel = "Attended10", Value = getData.Attended10
                },
                new Text {
                    TabLabel = "Approved10", Value = getData.Approved10
                },
                new Text {
                    TabLabel = "Category10", Value = getData.Category10
                },
                new Text {
                    TabLabel = "CreditHour10", Value = getData.CreditHour10
                },
                new Text {
                    TabLabel = "Course11", Value = getData.Course11
                },
                new Text {
                    TabLabel = "Sponsored11", Value = getData.Sponsored11
                },
                new Text {
                    TabLabel = "Attended11", Value = getData.Attended11
                },
                new Text {
                    TabLabel = "Approved11", Value = getData.Approved11
                },
                new Text {
                    TabLabel = "Category11", Value = getData.Category11
                },
                new Text {
                    TabLabel = "CreditHour11", Value = getData.CreditHour11
                }
            };

            // Add the sign here tab array to the signer object.
            signer.Tabs = new Tabs {
                TextTabs = tabs
            };

            // Create array of signer objects
            Signer[] signers = new Signer[] { signer };
            // Create recipients object
            Recipients recipient = new Recipients {
                Signers = new List <Signer>(signers)
            };

            var serverTemplates = new List <ServerTemplate> {
                new ServerTemplate {
                    TemplateId = DocuSignTemplate.TemplateId, Sequence = "1"
                }
            };
            var inlineTemplates = new List <InlineTemplate> {
                new InlineTemplate {
                    Recipients = recipient, Sequence = "2"
                }
            };
            var compositeTemplates = new List <CompositeTemplate> {
                new CompositeTemplate {
                    InlineTemplates = inlineTemplates, ServerTemplates = serverTemplates
                }
            };

            // Bring the objects together in the EnvelopeDefinition
            EnvelopeDefinition envelope = new EnvelopeDefinition
            {
                EmailSubject       = this.EmailTemplate.Subject,
                EmailBlurb         = this.EmailTemplate.MessageBody,
                CompositeTemplates = compositeTemplates,
                Status             = "sent"
            };

            // |EnvelopesApi| contains methods related to creating and sending Envelopes (aka signature requests)
            var envelopesApi    = new EnvelopesApi();
            var envelopeSummary = envelopesApi.CreateEnvelope(accountId, envelope);

            // 3. Create Envelope Recipient View request obj
            string envelopeId = envelopeSummary.EnvelopeId;
            RecipientViewRequest viewOptions = new RecipientViewRequest
            {
                ReturnUrl            = "http://www.docusign.com/devcenter",
                ClientUserId         = clientUserId,
                UserName             = signerName,
                AuthenticationMethod = "Email",
                Email = signerEmail
            };

            // 4. Use the SDK to obtain a Recipient View URL
            ViewUrl viewUrl = envelopesApi.CreateRecipientView(accountId, envelopeId, viewOptions);

            return(viewUrl);
        }