File tree Expand file tree Collapse file tree 3 files changed +40
-9
lines changed
AmazonSpApiSDK/Models/Orders Expand file tree Collapse file tree 3 files changed +40
-9
lines changed Original file line number Diff line number Diff line change @@ -15,6 +15,27 @@ public OrdersSample(AmazonConnection amazonConnection)
15
15
this . amazonConnection = amazonConnection ;
16
16
}
17
17
18
+
19
+ public void GetOrdersOnePageWithNextPageToken ( )
20
+ {
21
+ // ONLY USE THIS SAMPLE IF YOU NEED TO GET ONE PAGE EACH TIME other wise remove parameter 'MaxNumberOfPages' and libaray will fetch all orders to you
22
+ ParameterOrderList serachOrderList = new ParameterOrderList ( ) ;
23
+ serachOrderList . CreatedAfter = DateTime . UtcNow . AddMinutes ( - 600000 ) ;
24
+ serachOrderList . MaxNumberOfPages = 1 ;
25
+ serachOrderList . OrderStatuses = new List < OrderStatuses > ( ) ;
26
+ serachOrderList . OrderStatuses . Add ( OrderStatuses . Shipped ) ;
27
+
28
+ serachOrderList . AmazonOrderIds = new List < string > ( ) ;
29
+
30
+ var orders = amazonConnection . Orders . GetOrders ( serachOrderList ) ;
31
+ var nextPageToken = orders . NextToken ;
32
+ while ( ! string . IsNullOrEmpty ( nextPageToken ) )
33
+ {
34
+ var moreOrders = amazonConnection . Orders . GetGetOrdersByNextToken ( nextPageToken , serachOrderList ) ;
35
+ nextPageToken = moreOrders . NextToken ;
36
+ }
37
+
38
+ }
18
39
public void GetOrders ( )
19
40
{
20
41
ParameterOrderList serachOrderList = new ParameterOrderList ( ) ;
Original file line number Diff line number Diff line change @@ -31,6 +31,8 @@ public OrderList() : base()
31
31
{
32
32
}
33
33
34
+ public string NextToken { get ; set ; }
35
+
34
36
/// <summary>
35
37
/// Returns the string presentation of the object
36
38
/// </summary>
Original file line number Diff line number Diff line change @@ -33,19 +33,27 @@ public async Task<OrderList> GetOrdersAsync(ParameterOrderList searchOrderList)
33
33
var nextToken = response . Payload . NextToken ;
34
34
orderList = response . Payload . Orders ;
35
35
int PageCount = 1 ;
36
- while ( ! string . IsNullOrEmpty ( nextToken ) )
36
+ if ( searchOrderList . MaxNumberOfPages . HasValue && searchOrderList . MaxNumberOfPages . Value == 1 )
37
37
{
38
- var orderPayload = GetGetOrdersByNextToken ( nextToken , searchOrderList ) ;
39
- orderList . AddRange ( orderPayload . Orders ) ;
40
- nextToken = orderPayload . NextToken ;
41
-
42
- if ( searchOrderList . MaxNumberOfPages . HasValue )
38
+ orderList . NextToken = nextToken ;
39
+ }
40
+ else
41
+ {
42
+ while ( ! string . IsNullOrEmpty ( nextToken ) )
43
43
{
44
- PageCount ++ ;
45
- if ( PageCount >= searchOrderList . MaxNumberOfPages . Value )
46
- break ;
44
+ var orderPayload = GetGetOrdersByNextToken ( nextToken , searchOrderList ) ;
45
+ orderList . AddRange ( orderPayload . Orders ) ;
46
+ nextToken = orderPayload . NextToken ;
47
+
48
+ if ( searchOrderList . MaxNumberOfPages . HasValue )
49
+ {
50
+ PageCount ++ ;
51
+ if ( PageCount >= searchOrderList . MaxNumberOfPages . Value )
52
+ break ;
53
+ }
47
54
}
48
55
}
56
+
49
57
return orderList ;
50
58
}
51
59
You can’t perform that action at this time.
0 commit comments