activateDeactivateUser method
Implementation
Future<void> activateDeactivateUser(Passengers passenger) async {
if (passenger.isActive == false &&
(authenticationController.userProfileModel.value.data
?.totalUnusedAdultPassengerLimit ??
0) <=
0) {
CustomFlashWidget.showFlashMessage(
type: FlashType.error,
title: "Error",
message:
"You cannot add or activate more passengers as your passenger limit has been reached. Please upgrade or add to your subscription.",
);
return;
}
var response = await Requests.getDio().patch(
"passengers/${passenger.id}/${passenger.isActive == true ? 'deactivate' : 'activate'}");
if (response.statusCode == 200) {
Passengers updatedPassengerData =
Passengers.fromJson(response.data['data']);
int index = passengerList.value.data!
.indexWhere((p) => p.id == updatedPassengerData.id);
if (index != -1) {
passengerList.value.data![index] = updatedPassengerData;
performPagination();
}
print('Passenger updated successfully in the list.');
} else {
print('Failed to activate/deactivate passenger.');
}
}