コード例 #1
0
        public DocuSignResponseModel GetDocument(DocuSignLog log, DocuSignAuthHeader authInformation, string serverPath, string host)
        {
            var docusignResponse = new DocuSignResponseModel();

            var loginInfo = GetLoginInfo(authInformation);

            EnvelopesApi envelopesApi = new EnvelopesApi();

            var document2 = envelopesApi.GetDocument(loginInfo.AccountId, log.EnvelopeID, log.DocumentID);

            var documentUrl = "/documents/signed/signedocument-" + Guid.NewGuid() + ".pdf";

            var filePath = serverPath + documentUrl;

            using (Stream file = File.Create(filePath))
            {
                FileHelpers.CopyStream(document2, file);
            }


            docusignResponse.DocumentUrl = host + "/" + documentUrl;

            docusignResponse.CaseID     = log.CaseID.ToString();
            docusignResponse.DocumentID = log.DocumentID;
            docusignResponse.EnvelopeID = log.EnvelopeID;

            return(docusignResponse);
        }
コード例 #2
0
        public async Task <ApiResponse <DocuSignResponseModel> > SendDocument(DocumentSignModel model, string serverPath)
        {
            var docusignManager = new DocuSignManager();
            var confirmationUrl = appSettings.Get("docusign:ConfirmationUrl");

            var authInformation = new DocuSignAuthHeader
            {
                Username      = settings.Docusign.UserName,
                Password      = settings.Docusign.Password,
                IntegratorKey = settings.Docusign.IntegratorKey
            };

            var caseModel = caseRepository.Query(c => c.ID == model.CaseID).FirstOrDefault();

            var responseModel = docusignManager.SendDocument(model, caseModel, authInformation, serverPath, confirmationUrl);

            var docusignLog = new DocuSignLog
            {
                CaseID      = model.CaseID,
                DocumentID  = responseModel.DocumentID,
                EnvelopeID  = responseModel.EnvelopeID,
                CreatedDate = DateTime.Now
            };

            repository.Add(docusignLog);
            await repository.SaveChanges();

            return(new ApiResponse <DocuSignResponseModel>(responseModel));
        }