Files
driver_tripz/lib/controller/rate/rate_conroller.dart
Hamza-Ayed c1e4c74356 10/12/1
2023-10-12 14:16:55 +03:00

76 lines
2.5 KiB
Dart

import 'package:flutter/cupertino.dart';
import 'package:get/get.dart';
import 'package:ride/constant/box_name.dart';
import 'package:ride/constant/colors.dart';
import 'package:ride/constant/links.dart';
import 'package:ride/constant/style.dart';
import 'package:ride/controller/functions/crud.dart';
import 'package:ride/controller/home/map_passenger_controller.dart';
import 'package:ride/main.dart';
import 'package:ride/views/home/Captin/home_captin.dart';
import 'package:ride/views/home/map_page.dart';
import 'package:ride/views/widgets/elevated_btn.dart';
class RatePassengerController extends GetxController {
double selectedRateItemId = -1;
TextEditingController comment = TextEditingController();
late String rideId, passengerId, driverId;
@override
void onInit() {
if (box.read(BoxName.driverID).toString() != '' ||
box.read(BoxName.driverID).toString() != null) {
passengerId = Get.arguments['passengerId'];
rideId = Get.arguments['rideId'];
} else {
driverId = Get.arguments['driverId'];
rideId = Get.find<MapPassengerController>().rideId;
}
super.onInit();
}
void selectRateItem(double id) {
selectedRateItemId = id;
update();
}
void addRateToPassenger() async {
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,
}).then((value) {
Get.offAll(const HomeCaptain());
});
}
}
void addRateToDriver() async {
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.addRateToDriver, payload: {
'passenger_id': box.read(BoxName.pasengerID).toString(),
'driverID': driverId,
'rideId': rideId,
'rating': selectedRateItemId.toString(),
'comment': comment.text,
}).then((value) {
Get.offAll(const MapPage());
});
}
}
}