BASE: Update Icons & Name Of The App.
This commit is contained in:
@@ -5,7 +5,7 @@ import 'package:customer/models/wallet_transaction_model.dart';
|
||||
import 'package:customer/screen_ui/multi_vendor_service/wallet_screen/wallet_screen.dart';
|
||||
import 'package:customer/themes/show_toast_dialog.dart';
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:get/get.dart' hide Trans;
|
||||
import '../models/rental_order_model.dart';
|
||||
import '../models/tax_model.dart';
|
||||
import '../service/fire_store_utils.dart';
|
||||
@@ -46,7 +46,6 @@ class MyRentalBookingController extends GetxController {
|
||||
);
|
||||
}
|
||||
isLoading.value = false;
|
||||
|
||||
}
|
||||
|
||||
Rx<RentalOrderModel> selectedOrder = RentalOrderModel().obs;
|
||||
@@ -67,38 +66,84 @@ class MyRentalBookingController extends GetxController {
|
||||
|
||||
selectedOrder.value = order;
|
||||
try {
|
||||
subTotal.value = double.tryParse(selectedOrder.value.subTotal?.toString() ?? "0") ?? 0.0;
|
||||
discount.value = double.tryParse(selectedOrder.value.discount?.toString() ?? "0") ?? 0.0;
|
||||
subTotal.value =
|
||||
double.tryParse(selectedOrder.value.subTotal?.toString() ?? "0") ??
|
||||
0.0;
|
||||
discount.value =
|
||||
double.tryParse(selectedOrder.value.discount?.toString() ?? "0") ??
|
||||
0.0;
|
||||
taxAmount.value = 0.0;
|
||||
|
||||
if (selectedOrder.value.endTime != null) {
|
||||
DateTime start = selectedOrder.value.startTime!.toDate();
|
||||
DateTime end = selectedOrder.value.endTime!.toDate();
|
||||
int hours = end.difference(start).inHours;
|
||||
if (hours >= int.parse(selectedOrder.value.rentalPackageModel!.includedHours.toString())) {
|
||||
hours = hours - int.parse(selectedOrder.value.rentalPackageModel!.includedHours.toString());
|
||||
double hourlyRate = double.tryParse(selectedOrder.value.rentalPackageModel?.extraMinuteFare?.toString() ?? "0") ?? 0.0;
|
||||
if (hours >=
|
||||
int.parse(
|
||||
selectedOrder.value.rentalPackageModel!.includedHours.toString(),
|
||||
)) {
|
||||
hours =
|
||||
hours -
|
||||
int.parse(
|
||||
selectedOrder.value.rentalPackageModel!.includedHours
|
||||
.toString(),
|
||||
);
|
||||
double hourlyRate =
|
||||
double.tryParse(
|
||||
selectedOrder.value.rentalPackageModel?.extraMinuteFare
|
||||
?.toString() ??
|
||||
"0",
|
||||
) ??
|
||||
0.0;
|
||||
extraMinutesCharge.value = (hours * 60) * hourlyRate;
|
||||
}
|
||||
}
|
||||
|
||||
if (selectedOrder.value.startKitoMetersReading != null && selectedOrder.value.endKitoMetersReading != null) {
|
||||
double startKm = double.tryParse(selectedOrder.value.startKitoMetersReading?.toString() ?? "0") ?? 0.0;
|
||||
double endKm = double.tryParse(selectedOrder.value.endKitoMetersReading?.toString() ?? "0") ?? 0.0;
|
||||
if (selectedOrder.value.startKitoMetersReading != null &&
|
||||
selectedOrder.value.endKitoMetersReading != null) {
|
||||
double startKm =
|
||||
double.tryParse(
|
||||
selectedOrder.value.startKitoMetersReading?.toString() ?? "0",
|
||||
) ??
|
||||
0.0;
|
||||
double endKm =
|
||||
double.tryParse(
|
||||
selectedOrder.value.endKitoMetersReading?.toString() ?? "0",
|
||||
) ??
|
||||
0.0;
|
||||
if (endKm > startKm) {
|
||||
double totalKm = endKm - startKm;
|
||||
if (totalKm > double.parse(selectedOrder.value.rentalPackageModel!.includedDistance!)) {
|
||||
totalKm = totalKm - double.parse(selectedOrder.value.rentalPackageModel!.includedDistance!);
|
||||
double extraKmRate = double.tryParse(selectedOrder.value.rentalPackageModel?.extraKmFare?.toString() ?? "0") ?? 0.0;
|
||||
if (totalKm >
|
||||
double.parse(
|
||||
selectedOrder.value.rentalPackageModel!.includedDistance!,
|
||||
)) {
|
||||
totalKm =
|
||||
totalKm -
|
||||
double.parse(
|
||||
selectedOrder.value.rentalPackageModel!.includedDistance!,
|
||||
);
|
||||
double extraKmRate =
|
||||
double.tryParse(
|
||||
selectedOrder.value.rentalPackageModel?.extraKmFare
|
||||
?.toString() ??
|
||||
"0",
|
||||
) ??
|
||||
0.0;
|
||||
extraKilometerCharge.value = totalKm * extraKmRate;
|
||||
}
|
||||
}
|
||||
}
|
||||
subTotal.value = subTotal.value + extraKilometerCharge.value + extraMinutesCharge.value;
|
||||
subTotal.value =
|
||||
subTotal.value +
|
||||
extraKilometerCharge.value +
|
||||
extraMinutesCharge.value;
|
||||
|
||||
if (selectedOrder.value.taxSetting != null) {
|
||||
for (var element in selectedOrder.value.taxSetting!) {
|
||||
taxAmount.value += Constant.calculateTax(amount: (subTotal.value - discount.value).toString(), taxModel: element);
|
||||
taxAmount.value += Constant.calculateTax(
|
||||
amount: (subTotal.value - discount.value).toString(),
|
||||
taxModel: element,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -134,9 +179,14 @@ class MyRentalBookingController extends GetxController {
|
||||
serviceType: Constant.parcelServiceType,
|
||||
);
|
||||
|
||||
await FireStoreUtils.setWalletTransaction(transactionModel).then((value) async {
|
||||
await FireStoreUtils.setWalletTransaction(transactionModel).then((
|
||||
value,
|
||||
) async {
|
||||
if (value == true) {
|
||||
await FireStoreUtils.updateUserWallet(amount: "-${totalAmount.value.toString()}", userId: FireStoreUtils.getCurrentUid());
|
||||
await FireStoreUtils.updateUserWallet(
|
||||
amount: "-${totalAmount.value.toString()}",
|
||||
userId: FireStoreUtils.getCurrentUid(),
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -153,16 +203,42 @@ class MyRentalBookingController extends GetxController {
|
||||
List<RentalOrderModel> getOrdersForTab(String tab) {
|
||||
switch (tab) {
|
||||
case "New":
|
||||
return rentalOrders.where((order) => ["Order Placed", "Order Accepted", "Driver Pending"].contains(order.status)).toList();
|
||||
return rentalOrders
|
||||
.where(
|
||||
(order) => [
|
||||
"Order Placed",
|
||||
"Order Accepted",
|
||||
"Driver Pending",
|
||||
].contains(order.status),
|
||||
)
|
||||
.toList();
|
||||
|
||||
case "On Going":
|
||||
return rentalOrders.where((order) => ["Driver Accepted", "Order Shipped", "In Transit"].contains(order.status)).toList();
|
||||
return rentalOrders
|
||||
.where(
|
||||
(order) => [
|
||||
"Driver Accepted",
|
||||
"Order Shipped",
|
||||
"In Transit",
|
||||
].contains(order.status),
|
||||
)
|
||||
.toList();
|
||||
|
||||
case "Completed":
|
||||
return rentalOrders.where((order) => ["Order Completed"].contains(order.status)).toList();
|
||||
return rentalOrders
|
||||
.where((order) => ["Order Completed"].contains(order.status))
|
||||
.toList();
|
||||
|
||||
case "Cancelled":
|
||||
return rentalOrders.where((order) => ["Order Rejected", "Order Cancelled", "Driver Rejected"].contains(order.status)).toList();
|
||||
return rentalOrders
|
||||
.where(
|
||||
(order) => [
|
||||
"Order Rejected",
|
||||
"Order Cancelled",
|
||||
"Driver Rejected",
|
||||
].contains(order.status),
|
||||
)
|
||||
.toList();
|
||||
|
||||
default:
|
||||
return [];
|
||||
@@ -170,9 +246,13 @@ class MyRentalBookingController extends GetxController {
|
||||
}
|
||||
|
||||
/// Old helper (optional)
|
||||
List<RentalOrderModel> get filteredRentalOrders => getOrdersForTab(selectedTab.value);
|
||||
List<RentalOrderModel> get filteredRentalOrders =>
|
||||
getOrdersForTab(selectedTab.value);
|
||||
|
||||
Future<void> cancelRentalRequest(RentalOrderModel order, {List<TaxModel>? taxList}) async {
|
||||
Future<void> cancelRentalRequest(
|
||||
RentalOrderModel order, {
|
||||
List<TaxModel>? taxList,
|
||||
}) async {
|
||||
try {
|
||||
isLoading.value = true;
|
||||
order.status = Constant.orderCancelled;
|
||||
@@ -186,13 +266,18 @@ class MyRentalBookingController extends GetxController {
|
||||
if (taxList != null) {
|
||||
for (var element in taxList) {
|
||||
totalTax += Constant.calculateTax(
|
||||
amount: (double.parse(order.subTotal.toString()) - double.parse(order.discount.toString())).toString(),
|
||||
amount:
|
||||
(double.parse(order.subTotal.toString()) -
|
||||
double.parse(order.discount.toString()))
|
||||
.toString(),
|
||||
taxModel: element,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
double subTotal = double.parse(order.subTotal.toString()) - double.parse(order.discount.toString());
|
||||
double subTotal =
|
||||
double.parse(order.subTotal.toString()) -
|
||||
double.parse(order.discount.toString());
|
||||
double refundAmount = subTotal + totalTax;
|
||||
|
||||
WalletTransactionModel walletTransaction = WalletTransactionModel(
|
||||
@@ -211,7 +296,10 @@ class MyRentalBookingController extends GetxController {
|
||||
);
|
||||
|
||||
await FireStoreUtils.setWalletTransaction(walletTransaction);
|
||||
await FireStoreUtils.updateUserWallet(amount: refundAmount.toString(), userId: FireStoreUtils.getCurrentUid());
|
||||
await FireStoreUtils.updateUserWallet(
|
||||
amount: refundAmount.toString(),
|
||||
userId: FireStoreUtils.getCurrentUid(),
|
||||
);
|
||||
}
|
||||
ShowToastDialog.showToast("Booking cancelled successfully".tr());
|
||||
} catch (e) {
|
||||
|
||||
Reference in New Issue
Block a user