Skip to content

Commit 97a1102

Browse files
committed
add client api in example usage
1 parent 0c28003 commit 97a1102

15 files changed

+98
-53
lines changed

eg-03-csharp-auth-code-grant-core/Common/IRequestItemsService.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@ namespace eg_03_csharp_auth_code_grant_core
55
{
66
public interface IRequestItemsService
77
{
8-
ApiClient DefaultApiClient { get; }
9-
10-
Configuration DefaultConfiguration { get; }
8+
//ApiClient DefaultApiClient { get; }
9+
1110
string EgName { get; set; }
1211

1312
Session Session { get; set; }

eg-03-csharp-auth-code-grant-core/Common/RequestItemService.cs

Lines changed: 16 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@ public class RequestItemsService : IRequestItemsService
1111
private readonly IHttpContextAccessor _httpContextAccessor;
1212
private readonly IMemoryCache _cache;
1313
private readonly string _id;
14-
private string API_CLIENT_KEY = "{0}_ApiClient";
15-
private string CONFIG_KEY = "{0}_DocusignConfig";
14+
private string API_CLIENT_KEY = "{0}_ApiClient";
1615
private string BASE_URI = "https://demo.docusign.net/restapi";
1716
private string _accessToken;
1817

@@ -30,38 +29,22 @@ public RequestItemsService(IHttpContextAccessor httpContextAccessor, IMemoryCach
3029
}
3130
}
3231

33-
public ApiClient DefaultApiClient
34-
{
35-
get
36-
{
37-
var key = string.Format(API_CLIENT_KEY, _id);
38-
ApiClient apiClient = _cache.Get<ApiClient>("apiClient");
39-
if (apiClient == null)
40-
{
41-
apiClient = new ApiClient(BASE_URI);
42-
_cache.Set(key, apiClient);
43-
}
44-
45-
return apiClient;
46-
}
47-
}
32+
//public ApiClient DefaultApiClient
33+
//{
34+
// get
35+
// {
36+
// var key = string.Format(API_CLIENT_KEY, _id);
37+
// ApiClient apiClient = _cache.Get<ApiClient>("apiClient");
38+
// if (apiClient == null)
39+
// {
40+
// apiClient = new ApiClient(BASE_URI);
41+
// _cache.Set(key, apiClient);
42+
// }
4843

49-
public Configuration DefaultConfiguration
50-
{
51-
get
52-
{
53-
var key = string.Format(CONFIG_KEY, _id);
54-
var docuSignConfig = _cache.Get<Configuration>(key);
44+
// return apiClient;
45+
// }
46+
//}
5547

56-
if (docuSignConfig == null)
57-
{
58-
docuSignConfig = new Configuration(new ApiClient(BASE_URI));
59-
_cache.Set(key, docuSignConfig);
60-
}
61-
docuSignConfig.AddDefaultHeader("Authorization", "Bearer " + _accessToken);
62-
return docuSignConfig;
63-
}
64-
}
6548
private string GetKey(string key)
6649
{
6750
return string.Format("{0}_{1}", _id, key);
@@ -70,7 +53,7 @@ public string EgName {
7053
get => _cache.Get<string>(GetKey("EgName"));
7154
set => _cache.Set(GetKey("EgName"), value);
7255
}
73-
56+
7457
public Session Session {
7558
get => _cache.Get<Session>(GetKey("Session"));
7659
set => _cache.Set(GetKey("Session"), value);

eg-03-csharp-auth-code-grant-core/Controllers/Eg001EmbeddedSigningController.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using System.Collections.Generic;
33
using DocuSign.eSign.Api;
4+
using DocuSign.eSign.Client;
45
using DocuSign.eSign.Model;
56
using eg_03_csharp_auth_code_grant_core.Common;
67
using eg_03_csharp_auth_code_grant_core.Controllers;
@@ -33,9 +34,11 @@ public IActionResult Create(string signerEmail, string signerName)
3334
// Step 1. Create the envelope definition
3435
EnvelopeDefinition envelope = MakeEnvelope(signerEmail, signerName);
3536

36-
// Step 2. Call DocuSign to create the envelope
37-
//EnvelopesApi envelopesApi = new EnvelopesApi((Configuration)HttpContext.Items["docuSignConfig"]);
38-
EnvelopesApi envelopesApi = new EnvelopesApi(RequestItemsService.DefaultConfiguration);
37+
// Step 2. Call DocuSign to create the envelope
38+
var config = new Configuration(new ApiClient(session.BasePath+ "/restapi"));
39+
config.AddDefaultHeader("Authorization", "Bearer "+ user.AccessToken);
40+
EnvelopesApi envelopesApi = new EnvelopesApi(config);
41+
3942
EnvelopeSummary results = envelopesApi.CreateEnvelope(session.AccountId, envelope);
4043

4144
string envelopeId = results.EnvelopeId;

eg-03-csharp-auth-code-grant-core/Controllers/Eg002SigningViaEmailController.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
using Microsoft.AspNetCore.Mvc;
99
using System.IO;
1010
using System.Text;
11+
using DocuSign.eSign.Client;
1112

1213
namespace eg_03_csharp_auth_code_grant_core.Controllers
1314
{
@@ -24,9 +25,13 @@ public Eg002SigningViaEmailController(DSConfiguration config, IRequestItemsServi
2425

2526
[HttpPost]
2627
public IActionResult Create(string signerEmail, string signerName, string ccEmail, string ccName)
27-
{
28+
{
29+
var session = RequestItemsService.Session;
30+
var user = RequestItemsService.User;
2831
EnvelopeDefinition env = MakeEnvelope(signerEmail, signerName, ccEmail, ccName);
29-
EnvelopesApi envelopesApi = new EnvelopesApi(RequestItemsService.DefaultConfiguration);
32+
var config = new Configuration(new ApiClient(session.BasePath + "/restapi"));
33+
config.AddDefaultHeader("Authorization", "Bearer " + user.AccessToken);
34+
EnvelopesApi envelopesApi = new EnvelopesApi(config);
3035
EnvelopeSummary results = envelopesApi.CreateEnvelope(RequestItemsService.Session.AccountId, env);
3136
RequestItemsService.EnvelopeId = results.EnvelopeId;
3237
ViewBag.h1 = "Envelope sent";

eg-03-csharp-auth-code-grant-core/Controllers/Eg003ListEnvelopesController.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using System.Linq;
44
using System.Threading.Tasks;
55
using DocuSign.eSign.Api;
6+
using DocuSign.eSign.Client;
67
using DocuSign.eSign.Model;
78
using eg_03_csharp_auth_code_grant_core.Models;
89
using Microsoft.AspNetCore.Mvc;
@@ -25,7 +26,11 @@ public Eg003ListEnvelopesController(DSConfiguration config, IRequestItemsService
2526
[HttpPost]
2627
public IActionResult Create(string signerEmail, string signerName)
2728
{
28-
EnvelopesApi envelopesApi = new EnvelopesApi(RequestItemsService.DefaultConfiguration);
29+
var session = RequestItemsService.Session;
30+
var user = RequestItemsService.User;
31+
var config = new Configuration(new ApiClient(session.BasePath + "/restapi"));
32+
config.AddDefaultHeader("Authorization", "Bearer " + user.AccessToken);
33+
EnvelopesApi envelopesApi = new EnvelopesApi(config);
2934
ListStatusChangesOptions options = new ListStatusChangesOptions();
3035

3136
options.fromDate = DateTime.Now.AddDays(-30).ToString("yyyy/MM/dd");

eg-03-csharp-auth-code-grant-core/Controllers/Eg004EnvelopeInfoController.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using System.Linq;
44
using System.Threading.Tasks;
55
using DocuSign.eSign.Api;
6+
using DocuSign.eSign.Client;
67
using eg_03_csharp_auth_code_grant_core.Models;
78
using Microsoft.AspNetCore.Mvc;
89
using Newtonsoft.Json;
@@ -23,7 +24,11 @@ public Eg004EnvelopeInfoController(DSConfiguration config, IRequestItemsService
2324
[HttpPost]
2425
public IActionResult Create(string signerEmail, string signerName)
2526
{
26-
EnvelopesApi envelopesApi = new EnvelopesApi(RequestItemsService.DefaultConfiguration);
27+
var session = RequestItemsService.Session;
28+
var user = RequestItemsService.User;
29+
var config = new Configuration(new ApiClient(session.BasePath + "/restapi"));
30+
config.AddDefaultHeader("Authorization", "Bearer " + user.AccessToken);
31+
EnvelopesApi envelopesApi = new EnvelopesApi(config);
2732
ViewBag.h1 = "Get envelope status results";
2833
ViewBag.message = "Results from the Envelopes::get method:";
2934
DocuSign.eSign.Model.Envelope results = envelopesApi.GetEnvelope(RequestItemsService.Session.AccountId, RequestItemsService.EnvelopeId);

eg-03-csharp-auth-code-grant-core/Controllers/Eg005EnvelopeRecipientsController.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using DocuSign.eSign.Api;
2+
using DocuSign.eSign.Client;
23
using eg_03_csharp_auth_code_grant_core.Models;
34
using Microsoft.AspNetCore.Mvc;
45
using Newtonsoft.Json;
@@ -19,7 +20,11 @@ public Eg005EnvelopeRecipientsController(DSConfiguration config, IRequestItemsSe
1920
[HttpPost]
2021
public IActionResult Create(string signerEmail, string signerName)
2122
{
22-
EnvelopesApi envelopesApi = new EnvelopesApi(RequestItemsService.DefaultConfiguration);
23+
var session = RequestItemsService.Session;
24+
var user = RequestItemsService.User;
25+
var config = new Configuration(new ApiClient(session.BasePath + "/restapi"));
26+
config.AddDefaultHeader("Authorization", "Bearer " + user.AccessToken);
27+
EnvelopesApi envelopesApi = new EnvelopesApi(config);
2328
ViewBag.h1 = "List envelope recipients result";
2429
ViewBag.message = "Results from the EnvelopeRecipients::list method:";
2530
var results = envelopesApi.ListRecipients(RequestItemsService.Session.AccountId, RequestItemsService.EnvelopeId);

eg-03-csharp-auth-code-grant-core/Controllers/Eg006EnvelopeDocsController.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.Collections.Generic;
22
using DocuSign.eSign.Api;
3+
using DocuSign.eSign.Client;
34
using DocuSign.eSign.Model;
45
using eg_03_csharp_auth_code_grant_core.Models;
56
using Microsoft.AspNetCore.Mvc;
@@ -21,7 +22,11 @@ public Eg006EnvelopeDocsController(DSConfiguration config, IRequestItemsService
2122
[HttpPost]
2223
public IActionResult Create(string signerEmail, string signerName)
2324
{
24-
EnvelopesApi envelopesApi = new EnvelopesApi(RequestItemsService.DefaultConfiguration);
25+
var session = RequestItemsService.Session;
26+
var user = RequestItemsService.User;
27+
var config = new Configuration(new ApiClient(session.BasePath + "/restapi"));
28+
config.AddDefaultHeader("Authorization", "Bearer " + user.AccessToken);
29+
EnvelopesApi envelopesApi = new EnvelopesApi(config);
2530
EnvelopeDocumentsResult result = envelopesApi.ListDocuments(RequestItemsService.Session.AccountId,
2631
RequestItemsService.EnvelopeId);
2732
// Save the envelopeId and its list of documents in the session so

eg-03-csharp-auth-code-grant-core/Controllers/Eg007EnvelopeGetDocController.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.Linq;
22
using DocuSign.eSign.Api;
3+
using DocuSign.eSign.Client;
34
using eg_03_csharp_auth_code_grant_core.Models;
45
using Microsoft.AspNetCore.Mvc;
56

@@ -19,7 +20,11 @@ public Eg007EnvelopeGetDocController(DSConfiguration config, IRequestItemsServic
1920
[HttpPost]
2021
public FileResult Create(string docSelect)
2122
{
22-
EnvelopesApi envelopesApi = new EnvelopesApi(RequestItemsService.DefaultConfiguration);
23+
var session = RequestItemsService.Session;
24+
var user = RequestItemsService.User;
25+
var config = new Configuration(new ApiClient(session.BasePath + "/restapi"));
26+
config.AddDefaultHeader("Authorization", "Bearer " + user.AccessToken);
27+
EnvelopesApi envelopesApi = new EnvelopesApi(config);
2328

2429
// Step 1. EnvelopeDocuments::get.
2530
// Exceptions will be caught by the calling function

eg-03-csharp-auth-code-grant-core/Controllers/Eg008CreateTemplateController.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using System.Collections.Generic;
33
using DocuSign.eSign.Api;
4+
using DocuSign.eSign.Client;
45
using DocuSign.eSign.Model;
56
using eg_03_csharp_auth_code_grant_core.Models;
67
using Microsoft.AspNetCore.Mvc;
@@ -22,7 +23,11 @@ public Eg008CreateTemplateController(DSConfiguration config, IRequestItemsServic
2223
public IActionResult Create()
2324
{
2425
string templateName = "Example Signer and CC template";
25-
TemplatesApi templatesApi = new TemplatesApi(RequestItemsService.DefaultConfiguration);
26+
var session = RequestItemsService.Session;
27+
var user = RequestItemsService.User;
28+
var config = new Configuration(new ApiClient(session.BasePath + "/restapi"));
29+
config.AddDefaultHeader("Authorization", "Bearer " + user.AccessToken);
30+
TemplatesApi templatesApi = new TemplatesApi(config);
2631
TemplatesApi.ListTemplatesOptions options = new TemplatesApi.ListTemplatesOptions();
2732
options.searchText = "Example Signer and CC template";
2833
EnvelopeTemplateResults results = templatesApi.ListTemplates(RequestItemsService.Session.AccountId, options);

0 commit comments

Comments
 (0)