@@ -245,35 +245,46 @@ public async Task<GetShipmentItemsResult> GetShipmentItemsByShipmentIdAsync(stri
245
245
return response . Payload ;
246
246
return null ;
247
247
}
248
- public List < InboundShipmentItem > GetShipmentItems ( ParameterGetShipmentItems parameterShipmentItems ) =>
248
+ public InboundShipmentItemList GetShipmentItems ( ParameterGetShipmentItems parameterShipmentItems ) =>
249
249
Task . Run ( ( ) => GetShipmentItemsAsync ( parameterShipmentItems ) ) . ConfigureAwait ( false ) . GetAwaiter ( ) . GetResult ( ) ;
250
- public async Task < List < InboundShipmentItem > > GetShipmentItemsAsync ( ParameterGetShipmentItems parameterShipmentItems , CancellationToken cancellationToken = default )
250
+ public async Task < InboundShipmentItemList > GetShipmentItemsAsync ( ParameterGetShipmentItems parameterShipmentItems , CancellationToken cancellationToken = default )
251
251
{
252
- var shipmentItemList = new List < InboundShipmentItem > ( ) ;
252
+ var inboundShipmentItemList = new InboundShipmentItemList ( ) ;
253
253
254
254
var parameter = parameterShipmentItems . getParameters ( ) ;
255
255
await CreateAuthorizedRequestAsync ( FulFillmentInboundApiUrls . GetShipmentItems , RestSharp . Method . Get , parameter , cancellationToken : cancellationToken ) ;
256
256
257
257
var response = await ExecuteRequestAsync < GetShipmentItemsResponse > ( RateLimitType . FulFillmentInbound_GetShipmentItems , cancellationToken ) ;
258
258
259
259
var nextToken = response . Payload ? . NextToken ;
260
- shipmentItemList = response . Payload ? . ItemData ;
260
+ inboundShipmentItemList = response . Payload ? . ItemData ;
261
261
int PageCount = 1 ;
262
- while ( ! string . IsNullOrEmpty ( nextToken ) )
263
- {
264
- var orderPayload = await GetShipmentItemsByNextTokenAsync ( nextToken , parameterShipmentItems , cancellationToken ) ;
265
- shipmentItemList . AddRange ( orderPayload . ItemData ) ;
266
- nextToken = orderPayload . NextToken ;
267
262
268
- if ( parameterShipmentItems . MaxNumberOfPages . HasValue )
263
+ if ( parameterShipmentItems . MaxNumberOfPages . HasValue && parameterShipmentItems . MaxNumberOfPages . Value == 1 )
264
+ {
265
+ inboundShipmentItemList . NextToken = nextToken ;
266
+ }
267
+ else
268
+ {
269
+ while ( ! string . IsNullOrEmpty ( nextToken ) )
269
270
{
270
- PageCount ++ ;
271
- if ( PageCount >= parameterShipmentItems . MaxNumberOfPages . Value )
272
- break ;
271
+ var orderPayload = await GetShipmentItemsByNextTokenAsync ( nextToken , parameterShipmentItems , cancellationToken ) ;
272
+ inboundShipmentItemList . AddRange ( orderPayload . ItemData ) ;
273
+
274
+ nextToken = orderPayload . NextToken ;
275
+ inboundShipmentItemList . NextToken = nextToken ;
276
+
277
+ if ( parameterShipmentItems . MaxNumberOfPages . HasValue )
278
+ {
279
+ PageCount ++ ;
280
+ if ( PageCount >= parameterShipmentItems . MaxNumberOfPages . Value )
281
+ break ;
282
+ }
273
283
}
274
284
}
275
285
276
- return shipmentItemList ;
286
+
287
+ return inboundShipmentItemList ;
277
288
}
278
289
279
290
public async Task < GetShipmentItemsResult > GetShipmentItemsByNextTokenAsync ( string nextToken , ParameterGetShipmentItems parameterShipmentItems , CancellationToken cancellationToken = default )
0 commit comments