saveRoundTrip method
Implementation
Future<void> saveRoundTrip() async {
if(checkBookingisWithIn12Hours(selectedExclusiveOffer.value?.departureTrip?.flights?.firstOrNull?.departureDate ?? '', selectedExclusiveOffer.value?.departureTrip?.flights?.firstOrNull?.departureTime ?? '').isLowerThan(0)){
await callDependingOnScreen(
doMobile: () async {
await openBottomSheet(
BookingNotPossible(
goBackToResults: () {
closeDialog();
backToDeparture();
},
isDialog: false,
)
);
},
doWeb: () async {
await openDialog(
barrierDismissible: false,
BookingNotPossible(
goBackToResults: () {
closeDialog();
backToDeparture();
},
isDialog: true,
)
);
},
);
return;
}
var data = {
"offerId": selectedExclusiveOffer.value?.offerId?? '',
"passengers":selectedPassengers.map((p) => p?.id ?? '').toList(),
"donationAmount": savedDonation.value
};
var response =
await Requests.getDio().post("booking/v4/save", data: data);
if (response.statusCode == 200) {
SaveRoundTripSuccess.show(
searchCreditAdded: searchCreditTotal,
searchCreditUsed: searchCreditConsumed,
goBackToResults: () {
closeDialog();
backToDeparture();
},
);
}
else{
CustomFlashWidget.showFlashMessage(
title: "Save RoundTrip Failed",
message: response.data['message'] ?? "Something unexpected happened",
type: FlashType.error);
}
}