-
Notifications
You must be signed in to change notification settings - Fork 24
/
DocumentOperationsExample.cs
83 lines (68 loc) · 3.39 KB
/
DocumentOperationsExample.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using OneSpanSign.Sdk;
using OneSpanSign.Sdk.Builder;
namespace SDK.Examples
{
public class DocumentOperationsExample : SDKSample
{
public DocumentPackage BuiltPackage{ get; set; }
public DocumentPackage RetrievedPackageWithNewDocument{ get; set; }
public Document RetrievedUpdatedDocument{ get; set; }
public DocumentPackage RetrievedPackageWithUpdatedDocument{ get; set; }
public DocumentPackage RetrievedPackageWithDeletedDocument{ get; set; }
public const string OriginalDocumentName = "Original Document Name";
public const string UpdatedDocumentName = "Updated Document Name";
public const string OriginalDocumentDescription = "Original Document Description";
public const string UpdatedDocumentDescription = "Updated Document Description";
public static void Main(string[] args)
{
new DocumentOperationsExample().Run();
}
override public void Execute()
{
// 1. Create a package
BuiltPackage = PackageBuilder.NewPackageNamed(PackageName)
.DescribedAs("This is a package demonstrating document upload")
.WithSigner(SignerBuilder.NewSignerWithEmail("john.smith@email.com")
.WithFirstName("John")
.WithLastName("Smith")
.WithTitle("Managing Director")
.WithCompany("Acme Inc."))
.Build();
PackageId packageId = ossClient.CreatePackage(BuiltPackage);
Console.WriteLine("package created, id = " + packageId);
retrievedPackage = ossClient.GetPackage(packageId);
// 2. Construct a document
Signature signature = SignatureBuilder.SignatureFor("john.smith@email.com")
.OnPage(0)
.AtPosition(100,100)
.Build();
Document document = DocumentBuilder.NewDocumentNamed( OriginalDocumentName )
.WithDescription( OriginalDocumentDescription )
.FromStream( fileStream1, DocumentType.PDF )
.WithSignature(signature)
.Build();
// 3. Attach the document to the created package by uploading the document.
document = ossClient.UploadDocument(document, packageId);
Console.WriteLine("Document was uploaded");
RetrievedPackageWithNewDocument = ossClient.GetPackage(packageId);
//This is how you would update and get a document's metadata (name, description, approvals, fields)
document.Name = UpdatedDocumentName;
document.Description = UpdatedDocumentDescription;
document.Signatures.Add(SignatureBuilder.SignatureFor("john.smith@email.com")
.OnPage(0)
.AtPosition(200,200)
.Build());
ossClient.PackageService.UpdateDocumentMetadata(RetrievedPackage, document);
Console.WriteLine("Document was updated");
RetrievedUpdatedDocument = ossClient.PackageService.GetDocumentMetadata(RetrievedPackage, document.Id);
RetrievedPackageWithUpdatedDocument = ossClient.GetPackage(packageId);
//This is how you would delete a document from a package
ossClient.PackageService.DeleteDocument(packageId, document.Id);
RetrievedPackageWithDeletedDocument = ossClient.GetPackage(packageId);
}
}
}