savedToRateRequest method
Future<void>
savedToRateRequest()
Implementation
Future<void> savedToRateRequest() async {
if((rateRequestRemaining <= 0) && (searchCreditRemaining < searchCreditNeededForRateRequest)){
closeDialog();
await InsufficientSearchCreditsDialog.show(fromRateRequest: true);
return;
}
if(checkBookingisWithIn12Hours(paymentDetails.value.departureDate ?? '', paymentDetails.value.departureTime ?? '').isLowerThan(0)){
await callDependingOnScreen(
doMobile: () async {
await openBottomSheet(
const BookingNotPossible(
isRateInit: true,
isDialog: false,
)
);
},
doWeb: () async {
await openDialog(
barrierDismissible: false,
const BookingNotPossible(
isRateInit: true,
isDialog: true,
)
);
},
);
return;
}
var data = {
"donationAmount": savedDonation.value
};
var response =
await Requests.getDio(highTimeout: true).post("booking/v4/${paymentDetails.value.bookingId}/saved-to-request-rate?isLive=${Constants.searchLive}", data: data);
if (response.statusCode == 200) {
getBooking(paymentDetails.value.bookingId);
await Get.find<AuthenticationController>().getUserProfile();
await DeepSearchSuccessDialog.show(
barrierDismissible: false,
searchCreditAdded: searchCreditTotal,
searchCreditUsed: searchCreditConsumed,
rateRequestAdded: rateRequestTotal,
rateRequestUsed: rateRequestConsumed,
isUsingSearchCredit: (rateRequestTotal - rateRequestConsumed) <= 0,
isSaved: true,
goBackToResults: () {
closeDialog();
goBack();
},
);
}
else{
CustomFlashWidget.showFlashMessage(
title: "Rate Request Failed",
message: response.data['message'] ?? "Something unexpected happened",
type: FlashType.error);
}
}