Account


Earned badges

Achievement: Latest Unlocked

Topic Started

This user has not created any forum posts.

Replies Created

Reply to: Building Package with Multiple Signers Dynamically

0 votes
I am a little confused on how to create the package object. currently I have working demo that creates a DocumentPackage like this
DocumentPackage thisPackage = PackageBuilder
Next I need to the add the signer fields dynamically based on how many Singer objects I have? this form will also have about 110 fields injected. So I am trying to get these objects and the order I create and extend them straight
    .WithDocument(DocumentBuilder.NewDocumentNamed("MentalHealthCareDeclaration_" + CurrentUser().CurrentUserFirstName + "_" + CurrentUser().CurrentUserLastName + "_" + formNameDate)
                        .EnableExtraction()
                        .FromStream(fs, DocumentType.PDF)

                        .WithSignature(SignatureBuilder.SignatureFor(Signer.Email)
                        .WithName("V_txtMySignature")
                        .WithPositionExtracted())

                       // How do you make this also dynamic?
                        .WithSignature(SignatureBuilder.SignatureFor(Agent.Email)
                        .WithName("IIIA_txtAgentSignature")
                        .WithPositionExtracted())

Reply to: Building Package with Multiple Signers Dynamically

0 votes
Thanks for reply I was on the correct track how ever I was having a hard time figuring out what the name of the Document Object was. Intellisense gave me Document but I missed "DocumentBuilder" Is there and object model diagram or doc someplace I can look at? Thanks, Todd

Reply to: Callback failing

0 votes
So I installed the cert, now I am getting no feedback, I did not get the email telling me the callback failed and it seems my code did not run either? I am still missing something. I am retrieving the docment when signing is complete. Again I have this same code working from dev environemnt with out SSL so I confident I am close =). I am not sure exactly how the Call back key is used, have set that in the web ui along with my return url. When the call back is fired I retrieve the packager id and a user id that I included in the package when it was created. Next I request the file and save it on our server Do I need to also add the Call back key in my request?
[AllowAnonymous]
        public ActionResult SaveSignedFile()
        {
            string eSignUrl = ConfigurationManager.AppSettings["eSignUrl"];
            string eSignApiKey = ConfigurationManager.AppSettings["eSignApiKey"];
            string DocumentId = string.Empty;
            string DocumentName = string.Empty;
            string appDataFolder = HttpContext.Server.MapPath("~/App_Data/");

            try { 

                // Get the received request's headers
                var requestheaders = HttpContext.Request.Headers;

                // Get the received request's body
                var requestBody = string.Empty;
                using (var reader = new System.IO.StreamReader(HttpContext.Request.InputStream))
                {
                    requestBody = reader.ReadToEnd();
                }

                JObject jsonBody = JObject.Parse(requestBody);
       
                string packageId = jsonBody["packageId"].ToString();

                if (!string.IsNullOrEmpty(packageId))
                {
                    EslClient eslClient = new EslClient(eSignApiKey, eSignUrl);
                    PackageId pkgId = new PackageId(packageId);  // DO I NEED to add the Callback Key here?

                    DocumentPackage documentPackage = eslClient.GetPackage(pkgId);
                    Guid userGuid = new Guid(documentPackage.Attributes.Contents["UserGuid"].ToString());

                    foreach (Document mydoc in documentPackage.Documents)
                    {
                        DocumentId = mydoc.Id;
                        DocumentName = mydoc.Name;

                        if (!DocumentName.Contains("Electronic Disclosures"))
                        {
                            byte[] myDocument = eslClient.DownloadDocument(pkgId, DocumentId);

                            //TO DO: Do something with the document
                            System.IO.File.WriteAllBytes(appDataFolder + DocumentName + ".pdf", myDocument);

                            ADFile thisFile = new ADFile();
                            thisFile.ADFileId = 0;
                            thisFile.UserGuid = userGuid;
                            thisFile.ADFileName = DocumentName + ".pdf";
                            thisFile.UploadedDate = DateTime.Now;
                            thisFile.ExpiresDate = DateTime.Now.AddYears(2);
                            adFileRepository.SaveADFile(thisFile);

                            //TODO Update the Package based on the UserGuid
                            ADForm myForm = adformRepository.ADForms
                                            .Where(f => f.UserGuid == userGuid)
                                            .FirstOrDefault();

                            if (myForm != null)
                            {
                                myForm.ADFormStatus = "FileUploaded";
                                myForm.LastUpdate = DateTime.Now;
                                adformRepository.SaveADForm(myForm);
                            }
                        }
                    }
                }

                return new HttpStatusCodeResult(200);
Thanks, Todd

Subscriptions

This user is not subscribed to any release notes.

Code Share

This user has not submitted any code shares.

Subscriptions Release Notes

This user is not subscribed to any release notes.