getUserList method

void getUserList({
  1. int? page,
  2. String? keyword,
})

Implementation

void getUserList({int? page, String? keyword}) async {
  String requestTime = DateTime.now().toString();
  try {
    if (page == 1 && keyword != null && keyword.isEmpty) {
      Helper.progressDialog(Get.context!, "Please wait..");
    }
    if (keyword != null && keyword.isNotEmpty) {
      isSearching.value = true;
    }
    var response = await dio.get(
      "${ApiConstant.baseUrl}cpm-user-svc/user/getSalesForceUsers",
      options: Options(headers: {
        'x-request-txn-id': UDID.uDID,
      }),
      queryParameters: {
        "partnerId": storage.read("PARTNER_ID_LOGIN"),
        // "partnerId": "10243",
        // "listAll": false,
        // "includeBasicAudit": false,
        // "includeLoggedInUser": false,
        "page": page,
        "size": 10,
        "keyword": keyword,
        // "sort": "firstName",
        // "order": "asc",
        // "softDelete": false,
        "status": 1,
      },
    );
    UDID.setTraceId(response.headers.map[Constants.traceIdKey]?[0] ?? "");

    Helper.logEvent(
      "RESPONSE_EVENT",
      success: true,
      endPoint: "cpm-user-svc/user/getSalesForceUsers",
      responseDate: DateTime.now().toString(),
      screenName: "salesPerson",
      requestDate: requestTime,
    );
    UserList userResponse = UserList.fromJson(response.data);
    totalSalesusers = userResponse.totalElements ?? 0;
    if (page == 1) {
      userList.value = userResponse.content ?? [];
      userListTemp.value = userList;
    } else {
      userList.addAll(userResponse.content ?? []);
      userListTemp.value = userList;
    }
    isLoadingMore.value = false;
    if (page == 1 && keyword != null && keyword.isEmpty) {
      Get.close(1);
    }
    isSearching.value = false;
  } catch (e) {
    if (page == 1 && keyword != null && keyword.isEmpty) {
      Get.close(1);
    }
    if (e is DioException) {
      UDID.setTraceId(
        e.response?.headers.map[Constants.traceIdKey]?[0] ?? "",
      );
      Helper.logEvent(
        "ERROR_EVENT",
        failure: true,
        endPoint: "cpm-user-svc/user/getSalesForceUsers",
        requestDate: requestTime,
        responseDate: DateTime.now().toString(),
        screenName: "salesPerson",
        error: e,
      );
    }
    isSearching.value = false;
    debugPrint("error : $e");
    MainController mainController = Get.put(MainController());
    mainController.showErrorPopup();
    return null;
  }
}