getBookingHistory method

Future<void> getBookingHistory({
  1. bool showLoadingDialog = true,
  2. bool returnValue = false,
})

Implementation

Future<void> getBookingHistory(
    {bool showLoadingDialog = true, bool returnValue = false}) async {
  isLoading.value = true;
  var response = await Requests.getDio(showLoadingDialog: showLoadingDialog).get(
      "booking/subscriber?pageSize=${pageSize.value}&page=${currentPage.value}${getQuery()}");
  if (response.statusCode == 200) {
    totalRows.value = response.data['total'];
    totalPages.value = (totalRows.value / pageSize.value).ceil();
    if (currentPage.value == 1) {
      bookingHistory.value = BookingHistoryModel.fromJson(response.data);
    } else {
      bookingHistory.value.bookingsList?.addAll(
          (BookingHistoryModel.fromJson(response.data)).bookingsList ?? []);
    }
    bookingHistory.value.bookingsList?.removeWhere((e)=> e.bookingStatus == BookingStatus.pendingRate);
    final booking = bookingHistory.value.bookingsList
        ?.firstWhereOrNull((b) => b.id == expandedBookingId.value);
    if (booking != null) {
      selectedBooking.value = booking;
      selectedBooking.refresh();
    }
    createTimers();
    createSavedTimers();
    bookingHistory.refresh();
    isLoading.value = false;
  } else {
    isLoading.value = false;
    if (kDebugMode) {
      CustomFlashWidget.showFlashMessage(
      type: FlashType.error,
        title: "Failure",
        message:
            "Error while fetching the booking requests. Please try again later!",
      );
    }
  }
}