public void UpdateApprovals(DocumentPackage sdkPackage, string documentId, IList <Signature> signatureList) { Package apiPackage = new DocumentPackageConverter(sdkPackage).ToAPIPackage(); IList <Approval> approvalList = new List <Approval>(); foreach (Signature signature in signatureList) { Approval approval = new SignatureConverter(signature).ToAPIApproval(); if (signature.IsPlaceholderSignature()) { approval.Role = signature.RoleId.Id; } else if (signature.IsGroupSignature()) { approval.Role = FindRoleIdForGroup(signature.GroupId, apiPackage); } else { approval.Role = FindRoleIdForSigner(signature.SignerEmail, apiPackage); } approvalList.Add(approval); } apiClient.UpdateApprovals(sdkPackage.Id, documentId, approvalList); }
public Signature GetApproval(DocumentPackage sdkPackage, string documentId, string approvalId) { Approval approval = apiClient.GetApproval(sdkPackage.Id, documentId, approvalId); Package aPackage = new DocumentPackageConverter(sdkPackage).ToAPIPackage(); return(new SignatureConverter(approval, aPackage).ToSDKSignature()); }
public DocumentPackage GetPackage(PackageId id) { OneSpanSign.API.Package package = packageService.GetPackage(id); DocumentPackage documentPackage = new DocumentPackageConverter(package).ToSDKPackage(); return(documentPackage); }
/// <summary> /// Create a document layout from an already created DocumentPackage. Will only save document fields for one document /// in the package. /// </summary> /// <returns>The layout id.</returns> /// <param name="layout">The DocumentPackage with one document from which to create layout.</param> public string CreateLayout(DocumentPackage layout) { Package layoutToCreate = new DocumentPackageConverter(layout).ToAPIPackage(); foreach (OneSpanSign.Sdk.Document document in layout.Documents) { layoutToCreate.AddDocument(new DocumentConverter(document).ToAPIDocument(layoutToCreate)); } return(apiClient.CreateLayout(layoutToCreate, layout.Id.Id)); }
/// <summary> /// Create a document layout from an already created DocumentPackage. Will only save document fields for one document /// in the package. /// </summary> /// <returns>DocumentPackage layout.</returns> /// <param name="layout">The DocumentPackage with one document from which to create layout.</param> public DocumentPackage CreateAndGetLayout(DocumentPackage layout) { Package layoutToCreate = new DocumentPackageConverter(layout).ToAPIPackage(); foreach (OneSpanSign.Sdk.Document document in layout.Documents) { layoutToCreate.AddDocument(new DocumentConverter(document).ToAPIDocument(layoutToCreate)); } Package createdLayout = apiClient.CreateAndGetLayout(layoutToCreate, layout.Id.Id); return(new DocumentPackageConverter(createdLayout).ToSDKPackage()); }
public IList <Signature> GetAllSignableSignatures(DocumentPackage sdkPackage, string documentId, string signerId) { IList <Signature> signatures = new List <Signature>(); Package aPackage = new DocumentPackageConverter(sdkPackage).ToAPIPackage(); IList <Approval> approvals = apiClient.GetAllSignableApprovals(sdkPackage.Id, documentId, signerId); foreach (Approval approval in approvals) { signatures.Add(new SignatureConverter(approval, aPackage).ToSDKSignature()); } return(signatures); }
public DownloadedFile DownloadAllAttachmentFilesForSignerInPackage(DocumentPackage sdkPackage, Signer signer) { Package apiPackage = new DocumentPackageConverter(sdkPackage).ToAPIPackage(); string roleId = ""; foreach (Role role in apiPackage.Roles) { foreach (OneSpanSign.API.Signer apiSigner in role.Signers) { if (signer.Email.Equals(apiSigner.Email)) { roleId = role.Id; } } } return(DownloadAllAttachmentsForSignerInPackage(sdkPackage.Id.Id, roleId)); }
public PackageId CreatePackageOneStep(DocumentPackage package) { ValidateSignatures(package); if (!IsSdkVersionSetInPackageData(package)) { SetSdkVersionInPackageData(package); } OneSpanSign.API.Package packageToCreate = new DocumentPackageConverter(package).ToAPIPackage(); foreach (OneSpanSign.Sdk.Document document in package.Documents) { packageToCreate.AddDocument(new DocumentConverter(document).ToAPIDocument(packageToCreate)); } PackageId id = packageService.CreatePackageOneStep(packageToCreate, package.Documents); return(id); }
public void ModifyApproval(DocumentPackage sdkPackage, string documentId, Signature signature) { Approval approval = new SignatureConverter(signature).ToAPIApproval(); Package apiPackage = new DocumentPackageConverter(sdkPackage).ToAPIPackage(); if (signature.IsPlaceholderSignature()) { approval.Role = signature.RoleId.Id; } else if (signature.IsGroupSignature()) { approval.Role = FindRoleIdForGroup(signature.GroupId, apiPackage); } else { approval.Role = FindRoleIdForSigner(signature.SignerEmail, apiPackage); } apiClient.ModifyApproval(sdkPackage.Id, documentId, approval); }
public PackageId CreatePackage(DocumentPackage package) { ValidateSignatures(package); if (!IsSdkVersionSetInPackageData(package)) { SetSdkVersionInPackageData(package); } OneSpanSign.API.Package packageToCreate = new DocumentPackageConverter(package).ToAPIPackage(); PackageId id = packageService.CreatePackage(packageToCreate); try { UploadDocuments(id, package.Documents); } catch (Exception e) { packageService.DeletePackage(id); throw new OssException("Could not create a new package." + " Exception: " + e.Message, e); } return(id); }
private void SetNewSignersIndexIfRoleWorkflowEnabled(PackageId templateId, DocumentPackage documentPackage) { DocumentPackage template = new DocumentPackageConverter(packageService.GetPackage(templateId)).ToSDKPackage(); if (CheckSignerOrdering(template)) { int firstSignerIndex = GetMaxSigningOrder(template, documentPackage) + 1; foreach (Signer signer in documentPackage.Signers) { Signer templatePlaceholder = template.GetPlaceholder(signer.Id); if (templatePlaceholder != null) { signer.SigningOrder = templatePlaceholder.SigningOrder; } if (signer.SigningOrder <= 0) { signer.SigningOrder = firstSignerIndex; firstSignerIndex++; } } } }