callWarehouseListApi method

Future<void> callWarehouseListApi(
  1. int pageNumber,
  2. String keyword,
  3. bool isScroll
)

Implementation

Future<void> callWarehouseListApi(
  int pageNumber,
  String keyword,
  bool isScroll,
) async {
  BuildContext context = Get.context!;
  currentPage.value = pageNumber;
  try {
    if (pageNumber == 1 && keyword.isEmpty) {
      Helper.progressDialog(context, "");
    }
    if (keyword.isNotEmpty) {
      isSearching.value = true;
    }
    await ApiClient(baseUrl: ApiConstant.baseUrl)
        .getWarehouseList(
            xUserId: storage.read("XUSER_ID") ?? "",
            status: 1,
            partnerId: storage.read("PARTNER_ID_LOGIN") ?? "",
            order: "asc",
            size: 10,
            page: pageNumber,
            keyword: keyword)
        .then((response) {
      isResponseReceived.value = true;

      WarehouseModel model = response;
      totalWarehouse = model.totalElements ?? 0;
      if (pageNumber == 1) {
        warehouseList.value = model.content ?? [];
        searchedwarehouseList.value = warehouseList;
        if (keyword.isEmpty) {
          Get.close(1);
        }
      } else {
        warehouseList.addAll(model.content ?? []);
        searchedwarehouseList.value = warehouseList;
        isLoadingMore.value = false;
      }
      isSearching.value = false;
    }).catchError((onError) {
      isResponseReceived.value = false;
      isSearching.value = false;
      if (pageNumber > 1) {
        isLoadingMore.value = false;
      }
      if (pageNumber == 1 && keyword.isEmpty) {
        Get.close(1);
      }
      MainController mainController = Get.put(MainController());
      mainController.showErrorPopup();
    });
  } catch (err, stacktrace) {
    isSearching.value = false;
    if (pageNumber == 1 && keyword.isEmpty) {
      Get.close(1);
    }
    print(stacktrace);
  }
}