read method
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(),
);
}