Files
driver_tripz/lib/controller/rate/rate_conroller.dart
Hamza-Ayed 02fdf8b0f1 5/29/5
2024-05-30 20:17:22 +03:00

100 lines
3.6 KiB
Dart

import 'package:SEFER/controller/home/captin/map_driver_controller.dart';
import 'package:flutter/cupertino.dart';
import 'package:get/get.dart';
import 'package:SEFER/constant/box_name.dart';
import 'package:SEFER/constant/links.dart';
import 'package:SEFER/constant/style.dart';
import 'package:SEFER/controller/functions/crud.dart';
import 'package:SEFER/main.dart';
import 'package:SEFER/views/home/Captin/home_captain/home_captin.dart';
import 'package:SEFER/views/widgets/elevated_btn.dart';
// import '../home/captin/home_captain_controller.dart';
class RateController extends GetxController {
double selectedRateItemId = -1;
TextEditingController comment = TextEditingController();
TextEditingController passenggerPayAmount = TextEditingController();
String? rideId, passengerId, driverId, price;
late GlobalKey<FormState> formKey;
bool ispassengerWantWalletFromDriver = false;
@override
void onInit() {
formKey = GlobalKey<FormState>();
passengerId = Get.arguments['passengerId'];
rideId = Get.arguments['rideId'];
driverId = Get.arguments['driverId'];
price = Get.arguments['price'];
super.onInit();
}
void passengerWantPay() {
ispassengerWantWalletFromDriver = true;
update();
}
Future addPassengerWallet() async {
if (formKey.currentState!.validate()) {
var priceOfTrip =
double.parse(Get.find<MapDriverController>().paymentAmount);
double remainingFee =
double.parse(passenggerPayAmount.text) - priceOfTrip;
await CRUD().post(link: AppLink.addPassengersWallet, payload: {
'passenger_id': passengerId,
'balance': remainingFee.toString()
}).then((value) {
if (value != 'failure') {
Get.snackbar('Wallet Add', '');
}
});
}
}
void selectRateItem(double id) {
selectedRateItemId = id;
update();
}
void addRateToPassenger() async {
// HomeCaptainController homeCaptainController =
// Get.find<HomeCaptainController>();
// Get.put(MapDriverController());
if (selectedRateItemId < 1) {
Get.defaultDialog(
title: 'You Should choose rate figure'.tr,
titleStyle: AppStyle.title,
middleText: '',
confirm: MyElevatedButton(title: 'Ok', onPressed: () => Get.back()));
} else {
await CRUD().post(link: AppLink.addRateToPassenger, payload: {
'passenger_id': passengerId,
'driverID': box.read(BoxName.driverID).toString(),
'rideId': rideId,
'rating': selectedRateItemId.toString(),
'comment': comment.text,
});
await CRUD().sendEmail(AppLink.sendEmailToPassengerForTripDetails, {
'startLocation':
Get.find<MapDriverController>().passengerLocation.toString(),
'endLocation':
Get.find<MapDriverController>().passengerDestination.toString(),
'name': Get.find<MapDriverController>().passengerName.toString(),
'timeOfTrip': Get.find<MapDriverController>().timeOfOrder.toString(),
'fee': Get.find<MapDriverController>().totalPassenger.toString(),
'duration': Get.find<MapDriverController>().duration.toString(),
'phone': Get.find<MapDriverController>().passengerPhone.toString(),
'email': Get.find<MapDriverController>().passengerEmail.toString(),
'startNameLocation':
Get.find<MapDriverController>().startNameLocation.toString(),
'endNameLocation':
Get.find<MapDriverController>().endNameLocation.toString(),
});
// homeCaptainController.isActive = true;
// update();
// homeCaptainController.getPaymentToday();
Get.offAll(HomeCaptain());
}
}
}