From ae2bb10fcdf2013986f514a1ac8ce1d056f4cd31 Mon Sep 17 00:00:00 2001 From: skl-hyf <76997845+skl-hyf@users.noreply.github.com> Date: Tue, 23 Nov 2021 11:54:15 +0800 Subject: [PATCH] Complete GetInventorySummaries --- .../Services/FbaInventoryService.cs | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/Source/FikaAmazonAPI/Services/FbaInventoryService.cs b/Source/FikaAmazonAPI/Services/FbaInventoryService.cs index 6f56ec97..1d514a6c 100644 --- a/Source/FikaAmazonAPI/Services/FbaInventoryService.cs +++ b/Source/FikaAmazonAPI/Services/FbaInventoryService.cs @@ -1,4 +1,4 @@ -using FikaAmazonAPI.AmazonSpApiSDK.Models.FbaInventory; +using FikaAmazonAPI.AmazonSpApiSDK.Models.FbaInventory; using FikaAmazonAPI.Parameter.FbaInventory; using System; using System.Collections.Generic; @@ -22,15 +22,26 @@ public List GetInventorySummaries(ParameterGetInventorySumma CreateAuthorizedRequest(FbaInventoriesApiUrls.GetInventorySummaries, RestSharp.Method.GET, param); var response = ExecuteRequest(); - var nextToken = response.Pagination.NextToken; + var nextToken = response.Pagination?.NextToken;// Pagination is Null at last page list.Add(response.Payload.InventorySummaries); - //while (!string.IsNullOrEmpty(nextToken)) - //{ - // var orderPayload = GetInventorySummariesByNextToken(nextToken); - // list.AddRange(orderPayload.Orders); - // nextToken = orderPayload.NextToken; - //} + while (!string.IsNullOrEmpty(nextToken)) + { + var nextresponse = GetInventorySummariesByNextToken(nextToken,ParameterGetInventorySummaries); + list.Add(nextresponse.Payload.InventorySummaries); + nextToken = nextresponse.Pagination?.NextToken; + } return list; } + + private GetInventorySummariesResponse GetInventorySummariesByNextToken(string nextToken,ParameterGetInventorySummaries parameterGetInventorySummaries) + { + parameterGetInventorySummaries.nextToken = nextToken; + var param = parameterGetInventorySummaries.getParameters(); + + CreateAuthorizedRequest(FbaInventoriesApiUrls.GetInventorySummaries, RestSharp.Method.GET, param); + var response = ExecuteRequest(); + + return response; + } } }