This commit is contained in:
Hamza-Ayed
2024-02-14 22:31:28 +03:00
parent bbd4ce792e
commit ea7a5bb931
28 changed files with 941 additions and 605 deletions

View File

@@ -184,10 +184,11 @@ class MapPassengerController extends GetxController {
late double totalME = 0;
late double tax = 0;
late double totalPassenger = 0;
late double totalCostPassenger = 0;
late double totalDriver = 0;
late double averageDuration = 0;
late double costDuration = 0;
late double cost = 0;
late double costDistance = 0;
late double distance = 0;
late double duration = 0;
@@ -514,19 +515,24 @@ class MapPassengerController extends GetxController {
update();
}
rideTimerBegin = false;
isRideFinished = true;
update();
//print('rideTimerBegin: $rideTimerBegin');
//print('isRideFinished: $isRideFinished');
if (Get.find<PaymentController>().isWalletChecked == true &&
Get.find<PaymentController>().isCashChecked == false) {
await CRUD().post(link: AppLink.addPassengersWallet, payload: {
'passenger_id': box.read(BoxName.passengerID).toString(),
'balance': ((-1) * totalPassenger).toString()
});
}
// if (Get.find<PaymentController>().isWalletChecked == true &&
// Get.find<PaymentController>().isCashChecked == false) {
// if (double.parse(box.read(BoxName.passengerWalletTotal)) < 0) {
// totalPassenger = totalCostPassenger +
// double.parse(box.read(BoxName.passengerWalletTotal));
// } else {
// totalPassenger = totalCostPassenger + 0;
// }
// await CRUD().post(link: AppLink.addPassengersWallet, payload: {
// 'passenger_id': box.read(BoxName.passengerID).toString(),
// 'balance': ((-1) * totalPassenger).toString()
// });
// }
}
void getBeginRideFromDriver() async {
@@ -699,10 +705,10 @@ class MapPassengerController extends GetxController {
List<String> body = [
'${data[0]["start_location"]['lat']},${data[0]["start_location"]['lng']}',
'${data[0]["end_location"]['lat']},${data[0]["end_location"]['lng']}',
totalPassenger.toString(),
totalDriver.toString(),
totalPassenger.toStringAsFixed(2),
totalDriver.toStringAsFixed(2),
durationToRide.toString(),
distance.toString(),
distance.toStringAsFixed(2),
dataCarsLocationByPassenger['message'][carsOrder]['driver_id']
.toString(),
box.read(BoxName.passengerID).toString(),
@@ -727,7 +733,7 @@ class MapPassengerController extends GetxController {
placesCoordinate[2],
placesCoordinate[3],
placesCoordinate[4],
cost.toStringAsFixed(2)
costDistance.toStringAsFixed(2)
];
FirebaseMessagesController().sendNotificationToDriverMAP(
'Order',
@@ -781,6 +787,7 @@ class MapPassengerController extends GetxController {
changeConfirmRide();
} else {
Get.defaultDialog(
barrierDismissible: false,
title: 'There no Driver Aplly your order sorry for that '.tr,
middleText: 'try next time .',
confirm: MyElevatedButton(
@@ -956,9 +963,9 @@ class MapPassengerController extends GetxController {
clearPlacesDestination();
clearPolyline();
data = [];
await CRUD().post(link: AppLink.updateDriverOrder, payload: {
"order_id": rideId.toString(), // Convert to String
"status": 'Cancel'
await CRUD().post(link: AppLink.updateRides, payload: {
"id": rideId.toString(), // Convert to String
"status": 'notApplyFromAnyDriver'
});
rideConfirm = false;
shouldFetch = false;
@@ -1780,8 +1787,14 @@ class MapPassengerController extends GetxController {
if (decode["status"] == "success") {
//print(totalPassenger);
var firstElement = decode["message"][0];
totalPassenger = totalPassenger -
(totalPassenger * int.parse(firstElement['amount']) / 100);
if (double.parse(box.read(BoxName.passengerWalletTotal)) < 0) {
totalPassenger = totalCostPassenger -
(totalCostPassenger * int.parse(firstElement['amount']) / 100);
} else {
totalPassenger = totalCostPassenger -
(totalCostPassenger * int.parse(firstElement['amount']) / 100);
}
totalDriver = totalDriver -
(totalDriver * int.parse(firstElement['amount']) / 100);
promoTaken = true;
@@ -1814,34 +1827,51 @@ class MapPassengerController extends GetxController {
averageDuration = (durationToRide / 60) / distance;
costDuration = (durationToRide / 60) * averageDuration * 0.016;
print('costDuration----- $costDuration');
var totalDriver1 = cost + costDuration;
totalPassenger = totalDriver1 + (totalDriver1 * .16);
print('costDistance----- $costDistance');
print(
'passengerWalletTotal----- ${box.read(BoxName.passengerWalletTotal)}');
var totalDriver1 = costDistance + costDuration;
totalCostPassenger = totalDriver1 + (totalDriver1 * .16);
totalDriver = totalDriver1 + (totalDriver1 * .16);
tax = totalPassenger * .16;
totalME = totalPassenger - tax;
tax = totalCostPassenger * .16;
totalME = totalCostPassenger - tax;
if (double.parse(box.read(BoxName.passengerWalletTotal)) < 0) {
totalPassenger = totalCostPassenger +
(-1) * (double.parse(box.read(BoxName.passengerWalletTotal)));
} else {
totalPassenger = totalCostPassenger;
}
update();
if (currentTime.hour >= 22) {
cost = distance * 0.23;
costDistance = distance * 0.23;
update();
} else if (currentTime.hour < 5) {
cost = distance * 0.25;
costDistance = distance * 0.25;
update();
} else if (currentTime.hour >= 13 && currentTime.hour <= 16) {
if (averageDuration > 2.5) {
cost = distance * 0.25;
costDistance = distance * 0.25;
update();
} else {
cost = distance * 0.21;
costDistance = distance * 0.21;
update();
}
} else {
cost = distance * 0.21;
costDistance = distance * 0.21;
update();
}
//print('cost $cost');
if (totalPassenger < 1) {
totalPassenger = 1;
totalDriver = 1;
if (totalCostPassenger < 1) {
totalCostPassenger = 1;
if (double.parse(box.read(BoxName.passengerWalletTotal)) < 0) {
totalPassenger = totalCostPassenger +
(-1) * (double.parse(box.read(BoxName.passengerWalletTotal)));
} else {
totalPassenger = totalCostPassenger;
}
update();
// if (totalDriver < .5) {
// totalDriver = .75;
@@ -1851,8 +1881,8 @@ class MapPassengerController extends GetxController {
// totalDriver = .90;
// totalME = .06;
// update();
// }
}
// }
// buttomSheetMapPage();
changeBottomSheetShown();