public Envelope CreateEnvelope(ApplicationUser user, TemplateInfo templateInfo, string parentUserId) { try { if (user == null) throw new ArgumentNullException("user"); if (templateInfo == null) throw new ArgumentNullException("templateInfo"); var envelope = new Envelope { Login = Account, EmailSubject = user.Company, Status = "sent", TemplateId = templateInfo.Id, TemplateRoles = new[] { new TemplateRole { email = user.Email, name = string.Concat(user.FirstName, " ", user.LastName), roleName = "Signer", clientUserId = user.Id } } }; envelope.Create(); if (envelope.EnvelopeId != null) { _context.Envelopes.Add(new Envelopes { EnvelopeId = envelope.EnvelopeId, EnvelopeName = templateInfo.Name, UserId = parentUserId }); _context.SaveChanges(); return envelope; } } catch (Exception ex) { throw ex; } return null; }
public DocumentForSign GetEmbeddedDocument(Envelope envelope, TemplateInfo templateInfo, string returnUrl) { try { if (envelope == null) throw new ArgumentNullException("envelope"); if (templateInfo == null) throw new ArgumentNullException("templateInfo"); envelope.GetRecipients(); var signer = envelope.Recipients.signers[0]; if (signer != null) { var documents = envelope.GetDocuments(); var envelopeDocument = documents.FirstOrDefault(x => x.name.Contains(templateInfo.Name)); if (envelopeDocument != null) { var tabs = new CustomTabs(int.Parse(envelopeDocument.documentId), signer.recipientId, signer.name); envelope.AddTabs(new TabCollection { companyTabs = tabs.CompanyTabs, dateSignedTabs = tabs.dateSignedTabs, signHereTabs = tabs.SignHereTabs, textTabs = tabs.TextTabs }); var doc = new DocumentForSign { Document = Template.GetTemplatePreview(templateInfo.Id), DocumentName = templateInfo.Name, EmbeddedUrl = envelope.GetEmbeddedSignerView(returnUrl, signer) }; if (!string.IsNullOrEmpty(doc.EmbeddedUrl)) { _context.Documents.Add(new DocuSignDocument() { EnvelopeId = envelope.EnvelopeId, EmbeddedUrl = doc.EmbeddedUrl, Status = "sent", UserId = signer.clientUserId }); _context.SaveChanges(); } return doc; } } } catch (Exception ex) { throw ex; } return null; }