read method

Future<void> read()

Implementation

Future<void> read() async {
  state.loading();

  final List<int> tagFilters = <int>[
    if (selectedTag != null) selectedTag!.number,
    if (selectedGender != null) selectedGender!.number,
    if (verifiedOnly) TagUser.verified.number,
  ];

  await UServices.user.read(
    p: UUserReadParams(
      query: queryController.valueOrNull(),
      firstName: firstNameController.valueOrNull(),
      lastName: lastNameController.valueOrNull(),
      userName: userNameController.valueOrNull(),
      phoneNumber: phoneNumberController.valueOrNull(),
      email: emailController.valueOrNull(),
      nationalCode: nationalCodeController.valueOrNull(),
      tags: tagFilters.isEmpty ? null : tagFilters,
      fromCreatedAt: fromCreatedAt,
      toCreatedAt: toCreatedAt,
      orderBy: orderByCreatedAtDesc ? TagOrderBy.createdAtDescending.number : TagOrderBy.createdAt.number,
      pageNumber: pageNumber.value,
      pageSize: pageSize,
    ),
    onOk: (UResponse<List<UUserResponse>> response) {
      list(response.result ?? <UUserResponse>[]);
      setTotalPages(response.totalCount);
      state.loaded();
    },
    onError: (UEmptyResponse error) {
      state.error();
      UToast.error(message: error.message);
    },
    onException: (String e) {},
  );
}