read method

Future<void> read()

Implementation

Future<void> read() async {
  state.loading();
  await UServices.hotel.readDormBedContract(
    p: UDormBedContractReadParams(
      pageNumber: pageNumber.value,
      pageSize: pageSize,
      bedId: bedFilter?.id ?? bed?.id,
      userId: user?.id,
      dormId: dormFilter?.id,
      startDate: startDateFilter,
      endDate: endDateFilter,
      userName: tenantFilter.text.nullIfEmpty(),
      tags: typeFilter == null ? null : <int>[typeFilter!],
      activeOnly: statusFilter == UAdminContractStatusFilter.active ? true : null,
      upcomingOnly: statusFilter == UAdminContractStatusFilter.upcoming ? true : null,
      expiredOnly: statusFilter == UAdminContractStatusFilter.expired ? true : null,
      expiringWithinDays: statusFilter == UAdminContractStatusFilter.expiringSoon ? 30 : null,
      selectorArgs: const ContractSelectorArgs(
        user: UserSelectorArgs(),
        bed: DormBedSelectorArgs(room: DormRoomSelectorArgs(dorm: DormSelectorArgs())),
        invoice: InvoiceSelectorArgs(),
      ),
    ),
    onOk: (UResponse<List<UDormBedContractResponse>> r) {
      list = r.result ?? <UDormBedContractResponse>[];
      setTotalPages(r.totalCount);
      setListState(isEmpty: list.isEmpty);
    },
    onError: (UResponse<dynamic> e) => setError(e.message),
    onException: (String e) => setError(),
  );
}