getRatesHistory method
Future<void>
getRatesHistory({ - bool showLoadingDialog = true,
})
Implementation
Future<void> getRatesHistory({bool showLoadingDialog = true}) async {
isLoadingRates.value = true;
var query =
'&status=${BookingStatus.pendingRate.value},${BookingStatus.rateConfirmed.value}';
var response = await Requests.getDio(showLoadingDialog: showLoadingDialog).get(
"booking/subscriber?pageSize=${ratesPageSize.value}&page=${currentRatesPage.value}$query");
if (response.statusCode == 200) {
totalRatesRows.value = response.data['total'];
totalRatesPages.value = (totalRatesRows.value / ratesPageSize.value).ceil();
if (currentRatesPage.value == 1) {
ratesHistory.value = BookingHistoryModel.fromJson(response.data);
} else {
ratesHistory.value.bookingsList?.addAll(
(BookingHistoryModel.fromJson(response.data)).bookingsList ?? []);
}
final booking = ratesHistory.value.bookingsList
?.firstWhereOrNull((b) => b.id == expandedRateId.value);
if (booking != null) {
selectedRate.value = booking;
selectedRate.refresh();
}
createRatesTimers();
ratesHistory.refresh();
isLoadingRates.value = false;
} else {
isLoadingRates.value = false;
if (kDebugMode) {
CustomFlashWidget.showFlashMessage(
type: FlashType.error,
title: "Failure",
message:
"Error while fetching the booking requests. Please try again later!",
);
}
}
}