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: startDate,
endDate: endDate,
userName: tenantFilterController.valueOrNull(),
tags: typeFilter == null ? null : <int>[typeFilter!],
activeOnly: statusFilter == UAdminHotelContractStatusFilter.active ? true : null,
upcomingOnly: statusFilter == UAdminHotelContractStatusFilter.upcoming ? true : null,
expiredOnly: statusFilter == UAdminHotelContractStatusFilter.expired ? true : null,
expiringWithinDays: statusFilter == UAdminHotelContractStatusFilter.expiringSoon ? 30 : null,
selectorArgs: const UDormBedContractSelectorArgs(
user: UUserSelectorArgs(),
bed: UDormBedSelectorArgs(room: UDormRoomSelectorArgs(dorm: UDormSelectorArgs())),
invoice: UDormBedInvoiceSelectorArgs(),
),
),
onOk: (UResponse<List<UDormBedContractResponse>> r) {
list = r.result ?? <UDormBedContractResponse>[];
setTotalPages(r.totalCount);
list.isEmpty ? state.emptying() : state.loaded();
},
onError: (UResponse<dynamic> e) => setError(e.message),
onException: (String e) => setError(),
);
}