-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathITicketProtocol.cs
executable file
·98 lines (86 loc) · 5.27 KB
/
ITicketProtocol.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
using Sportradar.Mbs.Sdk.Entities.Request;
using Sportradar.Mbs.Sdk.Entities.Response;
namespace Sportradar.Mbs.Sdk.Protocol;
/// <summary>
/// Defines the methods for interacting with the ticket protocol.
/// </summary>
public interface ITicketProtocol
{
/// <summary>
/// Sends a ticket request asynchronously.
/// </summary>
/// <param name="request">The ticket request to send.</param>
/// <returns>A task that represents the asynchronous operation. The task result contains the ticket response.</returns>
/// <exception cref="SdkException">Thrown when operation has failed.</exception>
Task<TicketResponse> SendTicketAsync(TicketRequest request);
/// <summary>
/// Sends a ticket inform request asynchronously.
/// </summary>
/// <param name="request">The ticket inform request to send.</param>
/// <returns>A task that represents the asynchronous operation. The task result contains the ticket inform response.</returns>
/// <exception cref="SdkException">Thrown when operation has failed.</exception>
Task<TicketInformResponse> SendTicketInformAsync(TicketInformRequest request);
/// <summary>
/// Sends a ticket acknowledgement request asynchronously.
/// </summary>
/// <param name="request">The ticket acknowledgement request to send.</param>
/// <returns>A task that represents the asynchronous operation. The task result contains the ticket acknowledgement response.</returns>
/// <exception cref="SdkException">Thrown when operation has failed.</exception>
Task<TicketAckResponse> SendTicketAckAsync(TicketAckRequest request);
/// <summary>
/// Sends a cancel request asynchronously.
/// </summary>
/// <param name="request">The cancel request to send.</param>
/// <returns>A task that represents the asynchronous operation. The task result contains the cancel response.</returns>
/// <exception cref="SdkException">Thrown when operation has failed.</exception>
Task<CancelResponse> SendCancelAsync(CancelRequest request);
/// <summary>
/// Sends a cancel acknowledgement request asynchronously.
/// </summary>
/// <param name="request">The cancel acknowledgement request to send.</param>
/// <returns>A task that represents the asynchronous operation. The task result contains the cancel acknowledgement response.</returns>
/// <exception cref="SdkException">Thrown when operation has failed.</exception>
Task<CancelAckResponse> SendCancelAckAsync(CancelAckRequest request);
/// <summary>
/// Sends a cashout inform request asynchronously.
/// </summary>
/// <param name="request">The cashout inform request to send.</param>
/// <returns>A task that represents the asynchronous operation. The task result contains the cashout inform response.</returns>
/// <exception cref="SdkException">Thrown when operation has failed.</exception>
Task<CashoutInformResponse> SendCashoutInformAsync(CashoutInformRequest request);
/// <summary>
/// Sends a cashout request asynchronously.
/// </summary>
/// <param name="request">The cashout request to send.</param>
/// <returns>A task that represents the asynchronous operation. The task result contains the cashout response.</returns>
/// <exception cref="SdkException">Thrown when operation has failed.</exception>
Task<CashoutResponse> SendCashoutAsync(CashoutRequest request);
/// <summary>
/// Sends a cashout acknowledgement request asynchronously.
/// </summary>
/// <param name="request">The cashout acknowledgement request to send.</param>
/// <returns>A task that represents the asynchronous operation. The task result contains the cashout acknowledgement response.</returns>
/// <exception cref="SdkException">Thrown when operation has failed.</exception>
Task<CashoutAckResponse> SendCashoutAckAsync(CashoutAckRequest request);
/// <summary>
/// Sends an external settlement request asynchronously.
/// </summary>
/// <param name="request">The external settlement request to send.</param>
/// <returns>A task that represents the asynchronous operation. The task result contains the external settlement response.</returns>
/// <exception cref="SdkException">Thrown when operation has failed.</exception>
Task<ExtSettlementResponse> SendExtSettlementAsync(ExtSettlementRequest request);
/// <summary>
/// Sends an external settlement acknowledgement request asynchronously.
/// </summary>
/// <param name="request">The external settlement acknowledgement request to send.</param>
/// <returns>A task that represents the asynchronous operation. The task result contains the external settlement acknowledgement response.</returns>
/// <exception cref="SdkException">Thrown when operation has failed.</exception>
Task<ExtSettlementAckResponse> SendExtSettlementAckAsync(ExtSettlementAckRequest request);
/// <summary>
/// Sends a max stake request asynchronously.
/// </summary>
/// <param name="request">The max stake request to send.</param>
/// <returns>A task that represents the asynchronous operation. The task result contains the max stake response.</returns>
/// <exception cref="SdkException">Thrown when operation has failed.</exception>
Task<MaxStakeResponse> SendMaxStakeAsync(MaxStakeRequest request);
}