callGetWarehouses method

Future<void> callGetWarehouses({
  1. String? partnerId,
  2. int? page,
  3. int? size,
  4. String? warehouseCategory,
  5. int? status,
  6. String? sort,
  7. String? order,
  8. bool isForOperator = false,
})

Implementation

Future<void> callGetWarehouses(
    {String? partnerId,
    int? page,
    int? size,
    String? warehouseCategory,
    int? status,
    String? sort,
    String? order,
    bool isForOperator = false}) async {
  BuildContext context = Get.context!;
  isLoading.value = true;
  // if (page == 1) {
  Helper.progressDialog(context, "Please wait..");
  // }
  try {
    String requestTime = "";
    String responseTime = "";
    await ApiClient(
      baseUrl: ApiConstant.baseUrl,
      onFetchRequestTime: (time) {
        requestTime = time;
      },
      onFetchResponseTime: (time) {
        responseTime = time;
      },
      screenName: "customerManagement",
    )
        .getWarehousesList(
      // userId: SecureStorageService.readSecureData(
      //   SecureStorageService.userId,
      // ),
      order: order,
      sort: sort,
      page: 1,
      size: size,
      warehouseCategory: warehouseCategory,
      status: status,
      keyword: keyword,
      partnerId: partnerId,
      xUserId: SecureStorageService.readSecureData(
        SecureStorageService.xUserId,
      ) ?? "",
    )
        .then((response) async {
      Helper.logEvent(
        "RESPONSE_EVENT",
        success: true,
        endPoint: "${Api.customersList}/${SecureStorageService.readSecureData(
          SecureStorageService.userId,
        )}",
        responseDate: responseTime,
        screenName: "customerManagement",
        requestDate: requestTime,
      );
      if (response.content != null) {
        if (!isForOperator) {
          warehouseList.value = response.content ?? [];
        } else {
          warehouseListForOperator.value = response.content ?? [];
          for (var warehouse in warehouseList) {
            if (partners.value.profile?.operatorWarehouses != null &&
                partners.value.profile!.operatorWarehouses!.isNotEmpty &&
                partners.value.profile!.operatorWarehouses!
                    .contains(warehouse.warehouseParentId)) {
              selectedWarehouseListForOperator.add(warehouse);
              selectedWarehouseOperators
                  .add(warehouse.warehouseParentId ?? "");
            }
          }
        }
        Helper.close();
      } else {
        Helper.close();
      }
    }).catchError((error) {
      Helper.close();

      ConditionalLogs().customLog("$error");
    });
  } catch (err, stacktrace) {
    ConditionalLogs().customLog("$stacktrace");
    Helper.close();
  }
}