/// <summary>
 /// Returns financial event groups for a given date range.
 ///
 /// **Usage Plan:**
 ///
 /// | Rate (requests per second) | Burst |
 /// | ---- | ---- |
 /// | 0.5 | 30 |
 ///
 /// For more information, see "Usage Plans and Rate Limits" in the Selling
 /// Partner API documentation.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='maxResultsPerPage'>
 /// The maximum number of results to return per page.
 /// </param>
 /// <param name='financialEventGroupStartedBefore'>
 /// A date used for selecting financial event groups that opened before (but
 /// not at) a specified date and time, in ISO 8601 format. The date-time  must
 /// be later than FinancialEventGroupStartedAfter and no later than two minutes
 /// before the request was submitted. If FinancialEventGroupStartedAfter and
 /// FinancialEventGroupStartedBefore are more than 180 days apart, no financial
 /// event groups are returned.
 /// </param>
 /// <param name='financialEventGroupStartedAfter'>
 /// A date used for selecting financial event groups that opened after (or at)
 /// a specified date and time, in ISO 8601 format. The date-time must be no
 /// later than two minutes before the request was submitted.
 /// </param>
 /// <param name='nextToken'>
 /// A string token returned in the response of your previous request.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <ListFinancialEventGroupsResponse> ListFinancialEventGroupsAsync(this IFinancesClient operations, int?maxResultsPerPage = 100, System.DateTime?financialEventGroupStartedBefore = default(System.DateTime?), System.DateTime?financialEventGroupStartedAfter = default(System.DateTime?), string nextToken = default(string), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListFinancialEventGroupsWithHttpMessagesAsync(maxResultsPerPage, financialEventGroupStartedBefore, financialEventGroupStartedAfter, nextToken, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Returns all financial events for the specified order.
 ///
 /// **Usage Plan:**
 ///
 /// | Rate (requests per second) | Burst |
 /// | ---- | ---- |
 /// | 0.5 | 30 |
 ///
 /// For more information, see "Usage Plans and Rate Limits" in the Selling
 /// Partner API documentation.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='orderId'>
 /// An Amazon-defined order identifier, in 3-7-7 format.
 /// </param>
 /// <param name='maxResultsPerPage'>
 /// The maximum number of results to return per page.
 /// </param>
 /// <param name='nextToken'>
 /// A string token returned in the response of your previous request.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <ListFinancialEventsResponse> ListFinancialEventsByOrderIdAsync(this IFinancesClient operations, string orderId, int?maxResultsPerPage = 100, string nextToken = default(string), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListFinancialEventsByOrderIdWithHttpMessagesAsync(orderId, maxResultsPerPage, nextToken, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Returns financial event groups for a given date range.
 ///
 /// **Usage Plan:**
 ///
 /// | Rate (requests per second) | Burst |
 /// | ---- | ---- |
 /// | 0.5 | 30 |
 ///
 /// For more information, see "Usage Plans and Rate Limits" in the Selling
 /// Partner API documentation.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='maxResultsPerPage'>
 /// The maximum number of results to return per page.
 /// </param>
 /// <param name='financialEventGroupStartedBefore'>
 /// A date used for selecting financial event groups that opened before (but
 /// not at) a specified date and time, in ISO 8601 format. The date-time  must
 /// be later than FinancialEventGroupStartedAfter and no later than two minutes
 /// before the request was submitted. If FinancialEventGroupStartedAfter and
 /// FinancialEventGroupStartedBefore are more than 180 days apart, no financial
 /// event groups are returned.
 /// </param>
 /// <param name='financialEventGroupStartedAfter'>
 /// A date used for selecting financial event groups that opened after (or at)
 /// a specified date and time, in ISO 8601 format. The date-time must be no
 /// later than two minutes before the request was submitted.
 /// </param>
 /// <param name='nextToken'>
 /// A string token returned in the response of your previous request.
 /// </param>
 public static ListFinancialEventGroupsResponse ListFinancialEventGroups(this IFinancesClient operations, int?maxResultsPerPage = 100, System.DateTime?financialEventGroupStartedBefore = default(System.DateTime?), System.DateTime?financialEventGroupStartedAfter = default(System.DateTime?), string nextToken = default(string))
 {
     return(operations.ListFinancialEventGroupsAsync(maxResultsPerPage, financialEventGroupStartedBefore, financialEventGroupStartedAfter, nextToken).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Returns all financial events for the specified order.
 ///
 /// **Usage Plan:**
 ///
 /// | Rate (requests per second) | Burst |
 /// | ---- | ---- |
 /// | 0.5 | 30 |
 ///
 /// For more information, see "Usage Plans and Rate Limits" in the Selling
 /// Partner API documentation.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='orderId'>
 /// An Amazon-defined order identifier, in 3-7-7 format.
 /// </param>
 /// <param name='maxResultsPerPage'>
 /// The maximum number of results to return per page.
 /// </param>
 /// <param name='nextToken'>
 /// A string token returned in the response of your previous request.
 /// </param>
 public static ListFinancialEventsResponse ListFinancialEventsByOrderId(this IFinancesClient operations, string orderId, int?maxResultsPerPage = 100, string nextToken = default(string))
 {
     return(operations.ListFinancialEventsByOrderIdAsync(orderId, maxResultsPerPage, nextToken).GetAwaiter().GetResult());
 }