@M-Misha-M
горе-junior, программирую на C#, изучаю .Net

Что делать если в ответе JSON есть пагинация??

Здравствуйте! Использую retail crm api https://github.com/retailcrm/api-client-dotnet библиоотеку для .Net, Там есть метод
Retailcrm.Versions.V4.Client api = new Retailcrm.Versions.V4.Client(product.SiteName, product.AccessToken);
                Dictionary<string, object> filteredOrders = new Dictionary<string, object>
               {
                { "extendedStatus", "complete" },
                { "statusUpdatedAtFrom", DateTime.Now.AddDays(-3).ToString("yyyy-MM-dd HH:mm:ss")},
                { "statusUpdatedAtTo", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}
               };

                Response responseFiltered = api.OrdersList(filteredOrders, 1, 100);


api.OrdersList
имеет 3 параметра, это фильтр, второй параметр - это текущая страница с полученными пользователями и 3 параметр , отображаемое количество пользователей на 1 страницу. Сейчас у меня хардкод - так как вторым параметром стоит 1, то я получаю пользователей только с 1 страницы. Как сделать так чтобы получать со всех страниц пользователей? Я десериализирую пользователей в модель и там есть следующее:
public class Pagination
    {
        public int limit { get; set; }
        public int totalCount { get; set; }
        public int currentPage { get; set; }
        public int totalPageCount { get; set; }
    }

Когда я десериализовал json , пользователи пишуться в мою БД. Как мне реализовать пагинацию в данном случае? Спасибо!
  • Вопрос задан
  • 607 просмотров
Решения вопроса 1
@dmitryKovalskiy
программист средней руки
И в чем проблема? ну вызывайте метод API циклом или асинхронными тасками пока все страницы не получите. Уберите хардкод. Или вы хотите что бы вам прям код написали? Тогда это жалоба за задание
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
do {
    responseFiltered = api.OrdersList(filteredOrders, page++, 100);
} while (responseFiltered.Count > 0);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы