forked from Adyen/adyen-dotnet-api-library
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CardOrdersService.cs
140 lines (128 loc) · 12.7 KB
/
CardOrdersService.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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
/*
* Configuration API
*
*
* The version of the OpenAPI document: 2
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using Adyen.Model;
using Adyen.Model.BalancePlatform;
namespace Adyen.Service.BalancePlatform
{
/// <summary>
/// CardOrdersService Interface
/// </summary>
public interface ICardOrdersService
{
/// <summary>
/// Get card order items
/// </summary>
/// <param name="id"><see cref="string"/> - The unique identifier of the card order.</param>
/// <param name="offset"><see cref="int?"/> - Specifies the position of an element in a list of card orders. The response includes a list of card order items that starts at the specified offset. **Default:** 0, which means that the response contains all the elements in the list of card order items.</param>
/// <param name="limit"><see cref="int?"/> - The number of card order items returned per page. **Default:** 10.</param>
/// <param name="requestOptions"><see cref="RequestOptions"/> - Additional request options.</param>
/// <returns><see cref="PaginatedGetCardOrderItemResponse"/>.</returns>
Model.BalancePlatform.PaginatedGetCardOrderItemResponse GetCardOrderItems(string id, int? offset = default, int? limit = default, RequestOptions requestOptions = default);
/// <summary>
/// Get card order items
/// </summary>
/// <param name="id"><see cref="string"/> - The unique identifier of the card order.</param>
/// <param name="offset"><see cref="int?"/> - Specifies the position of an element in a list of card orders. The response includes a list of card order items that starts at the specified offset. **Default:** 0, which means that the response contains all the elements in the list of card order items.</param>
/// <param name="limit"><see cref="int?"/> - The number of card order items returned per page. **Default:** 10.</param>
/// <param name="requestOptions"><see cref="RequestOptions"/> - Additional request options.</param>
/// <param name="cancellationToken"> A CancellationToken enables cooperative cancellation between threads, thread pool work items, or Task objects.</param>
/// <returns>Task of <see cref="PaginatedGetCardOrderItemResponse"/>.</returns>
Task<Model.BalancePlatform.PaginatedGetCardOrderItemResponse> GetCardOrderItemsAsync(string id, int? offset = default, int? limit = default, RequestOptions requestOptions = default, CancellationToken cancellationToken = default);
/// <summary>
/// Get a list of card orders
/// </summary>
/// <param name="id"><see cref="string"/> - The unique identifier of the card order. </param>
/// <param name="cardManufacturingProfileId"><see cref="string"/> - The unique identifier of the card manufacturer profile.</param>
/// <param name="status"><see cref="string"/> - The status of the card order.</param>
/// <param name="txVariantCode"><see cref="string"/> - The unique code of the card manufacturer profile. Possible values: **mcmaestro**, **mc**, **visa**, **mcdebit**. </param>
/// <param name="createdSince"><see cref="DateTime?"/> - Only include card orders that have been created on or after this point in time. The value must be in ISO 8601 format. For example, **2021-05-30T15:07:40Z**.</param>
/// <param name="createdUntil"><see cref="DateTime?"/> - Only include card orders that have been created on or before this point in time. The value must be in ISO 8601 format. For example, **2021-05-30T15:07:40Z**.</param>
/// <param name="lockedSince"><see cref="DateTime?"/> - Only include card orders that have been locked on or after this point in time. The value must be in ISO 8601 format. For example, **2021-05-30T15:07:40Z**.</param>
/// <param name="lockedUntil"><see cref="DateTime?"/> - Only include card orders that have been locked on or before this point in time. The value must be in ISO 8601 format. For example, **2021-05-30T15:07:40Z**.</param>
/// <param name="serviceCenter"><see cref="string"/> - The service center at which the card is issued. The value is case-sensitive. </param>
/// <param name="offset"><see cref="int?"/> - Specifies the position of an element in a list of card orders. The response includes a list of card orders that starts at the specified offset. **Default:** 0, which means that the response contains all the elements in the list of card orders.</param>
/// <param name="limit"><see cref="int?"/> - The number of card orders returned per page. **Default:** 10.</param>
/// <param name="requestOptions"><see cref="RequestOptions"/> - Additional request options.</param>
/// <returns><see cref="PaginatedGetCardOrderResponse"/>.</returns>
Model.BalancePlatform.PaginatedGetCardOrderResponse ListCardOrders(string id = default, string cardManufacturingProfileId = default, string status = default, string txVariantCode = default, DateTime? createdSince = default, DateTime? createdUntil = default, DateTime? lockedSince = default, DateTime? lockedUntil = default, string serviceCenter = default, int? offset = default, int? limit = default, RequestOptions requestOptions = default);
/// <summary>
/// Get a list of card orders
/// </summary>
/// <param name="id"><see cref="string"/> - The unique identifier of the card order. </param>
/// <param name="cardManufacturingProfileId"><see cref="string"/> - The unique identifier of the card manufacturer profile.</param>
/// <param name="status"><see cref="string"/> - The status of the card order.</param>
/// <param name="txVariantCode"><see cref="string"/> - The unique code of the card manufacturer profile. Possible values: **mcmaestro**, **mc**, **visa**, **mcdebit**. </param>
/// <param name="createdSince"><see cref="DateTime?"/> - Only include card orders that have been created on or after this point in time. The value must be in ISO 8601 format. For example, **2021-05-30T15:07:40Z**.</param>
/// <param name="createdUntil"><see cref="DateTime?"/> - Only include card orders that have been created on or before this point in time. The value must be in ISO 8601 format. For example, **2021-05-30T15:07:40Z**.</param>
/// <param name="lockedSince"><see cref="DateTime?"/> - Only include card orders that have been locked on or after this point in time. The value must be in ISO 8601 format. For example, **2021-05-30T15:07:40Z**.</param>
/// <param name="lockedUntil"><see cref="DateTime?"/> - Only include card orders that have been locked on or before this point in time. The value must be in ISO 8601 format. For example, **2021-05-30T15:07:40Z**.</param>
/// <param name="serviceCenter"><see cref="string"/> - The service center at which the card is issued. The value is case-sensitive. </param>
/// <param name="offset"><see cref="int?"/> - Specifies the position of an element in a list of card orders. The response includes a list of card orders that starts at the specified offset. **Default:** 0, which means that the response contains all the elements in the list of card orders.</param>
/// <param name="limit"><see cref="int?"/> - The number of card orders returned per page. **Default:** 10.</param>
/// <param name="requestOptions"><see cref="RequestOptions"/> - Additional request options.</param>
/// <param name="cancellationToken"> A CancellationToken enables cooperative cancellation between threads, thread pool work items, or Task objects.</param>
/// <returns>Task of <see cref="PaginatedGetCardOrderResponse"/>.</returns>
Task<Model.BalancePlatform.PaginatedGetCardOrderResponse> ListCardOrdersAsync(string id = default, string cardManufacturingProfileId = default, string status = default, string txVariantCode = default, DateTime? createdSince = default, DateTime? createdUntil = default, DateTime? lockedSince = default, DateTime? lockedUntil = default, string serviceCenter = default, int? offset = default, int? limit = default, RequestOptions requestOptions = default, CancellationToken cancellationToken = default);
}
/// <summary>
/// Represents a collection of functions to interact with the CardOrdersService API endpoints
/// </summary>
public class CardOrdersService : AbstractService, ICardOrdersService
{
private readonly string _baseUrl;
public CardOrdersService(Client client) : base(client)
{
_baseUrl = CreateBaseUrl("https://balanceplatform-api-test.adyen.com/bcl/v2");
}
public Model.BalancePlatform.PaginatedGetCardOrderItemResponse GetCardOrderItems(string id, int? offset = default, int? limit = default, RequestOptions requestOptions = default)
{
return GetCardOrderItemsAsync(id, offset, limit, requestOptions).ConfigureAwait(false).GetAwaiter().GetResult();
}
public async Task<Model.BalancePlatform.PaginatedGetCardOrderItemResponse> GetCardOrderItemsAsync(string id, int? offset = default, int? limit = default, RequestOptions requestOptions = default, CancellationToken cancellationToken = default)
{
// Build the query string
var queryParams = new Dictionary<string, string>();
if (offset != null) queryParams.Add("offset", offset.ToString());
if (limit != null) queryParams.Add("limit", limit.ToString());
var endpoint = _baseUrl + $"/cardorders/{id}/items" + ToQueryString(queryParams);
var resource = new ServiceResource(this, endpoint);
return await resource.RequestAsync<Model.BalancePlatform.PaginatedGetCardOrderItemResponse>(null, requestOptions, new HttpMethod("GET"), cancellationToken).ConfigureAwait(false);
}
public Model.BalancePlatform.PaginatedGetCardOrderResponse ListCardOrders(string id = default, string cardManufacturingProfileId = default, string status = default, string txVariantCode = default, DateTime? createdSince = default, DateTime? createdUntil = default, DateTime? lockedSince = default, DateTime? lockedUntil = default, string serviceCenter = default, int? offset = default, int? limit = default, RequestOptions requestOptions = default)
{
return ListCardOrdersAsync(id, cardManufacturingProfileId, status, txVariantCode, createdSince, createdUntil, lockedSince, lockedUntil, serviceCenter, offset, limit, requestOptions).ConfigureAwait(false).GetAwaiter().GetResult();
}
public async Task<Model.BalancePlatform.PaginatedGetCardOrderResponse> ListCardOrdersAsync(string id = default, string cardManufacturingProfileId = default, string status = default, string txVariantCode = default, DateTime? createdSince = default, DateTime? createdUntil = default, DateTime? lockedSince = default, DateTime? lockedUntil = default, string serviceCenter = default, int? offset = default, int? limit = default, RequestOptions requestOptions = default, CancellationToken cancellationToken = default)
{
// Build the query string
var queryParams = new Dictionary<string, string>();
if (id != null) queryParams.Add("id", id);
if (cardManufacturingProfileId != null) queryParams.Add("cardManufacturingProfileId", cardManufacturingProfileId);
if (status != null) queryParams.Add("status", status);
if (txVariantCode != null) queryParams.Add("txVariantCode", txVariantCode);
if (createdSince != null) queryParams.Add("createdSince", createdSince.Value.ToString("yyyy-MM-ddTHH:mm:ssZ"));
if (createdUntil != null) queryParams.Add("createdUntil", createdUntil.Value.ToString("yyyy-MM-ddTHH:mm:ssZ"));
if (lockedSince != null) queryParams.Add("lockedSince", lockedSince.Value.ToString("yyyy-MM-ddTHH:mm:ssZ"));
if (lockedUntil != null) queryParams.Add("lockedUntil", lockedUntil.Value.ToString("yyyy-MM-ddTHH:mm:ssZ"));
if (serviceCenter != null) queryParams.Add("serviceCenter", serviceCenter);
if (offset != null) queryParams.Add("offset", offset.ToString());
if (limit != null) queryParams.Add("limit", limit.ToString());
var endpoint = _baseUrl + "/cardorders" + ToQueryString(queryParams);
var resource = new ServiceResource(this, endpoint);
return await resource.RequestAsync<Model.BalancePlatform.PaginatedGetCardOrderResponse>(null, requestOptions, new HttpMethod("GET"), cancellationToken).ConfigureAwait(false);
}
}
}