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); }
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)); }