This commit is contained in:
Hamza-Ayed
2023-08-29 01:22:43 +03:00
parent 069ab52a83
commit 4628f91d3e
4 changed files with 66 additions and 12 deletions

View File

@@ -21,8 +21,8 @@ class CRUD {
'Basic ${base64Encode(utf8.encode(AppCredintials.basicAuthCredentials))}',
},
);
print("--------------" + response.request.toString());
print("--------------" + payload.toString());
// print("--------------" + response.request.toString());
// print("--------------" + payload.toString());
if (response.statusCode == 200) {
var jsonData = jsonDecode(response.body);
if (jsonData['status'] == 'success') {

View File

@@ -530,6 +530,27 @@ class MapController extends GetxController {
update();
}
final promo = TextEditingController();
bool promoTaken = false;
void applyPromoCodetoPassenger() async {
//TAWJIHI
CRUD().get(link: AppLink.getPassengersPromo, payload: {
'promo_code': promo.text,
}).then((value) {
var decod = jsonDecode(value);
if (decod["status"] == "success") {
print(totalPassenger);
var firstElement = decod["message"][0];
totalPassenger = totalPassenger -
(totalPassenger * int.parse(firstElement['amount']) / 100);
promoTaken = true;
update();
print(totalPassenger);
}
});
}
double getDistanceFromText(String distanceText) {
// Remove any non-digit characters from the distance text
String distanceValue = distanceText.replaceAll(RegExp(r'[^0-9.]+'), '');

View File

@@ -2,6 +2,7 @@ import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:ride/controller/home/map_page_controller.dart';
import '../../constant/box_name.dart';
import '../../constant/links.dart';
@@ -14,7 +15,7 @@ class PaymentController extends GetxController {
bool isCashCheced = false;
final formKey = GlobalKey<FormState>();
final promo = TextEditingController();
double totalPassenger = MapController().totalPassenger;
getPassengerWallet() async {
isloading = true;
update();
@@ -50,6 +51,24 @@ class PaymentController extends GetxController {
update();
}
void applyPromoCodetoPassenger() async {
//TAWJIHI
CRUD().get(link: AppLink.getPassengersPromo, payload: {
'promo_code': promo.text,
}).then((value) {
var decod = jsonDecode(value);
if (decod["status"] == "success") {
print(totalPassenger);
var firstElement = decod["message"][0];
totalPassenger = totalPassenger -
(totalPassenger * int.parse(firstElement['amount']));
update();
print(totalPassenger);
}
});
}
@override
void onInit() {
getPassengerWallet();

View File

@@ -1,10 +1,7 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_paypal/flutter_paypal.dart';
import 'package:get/get.dart';
import 'package:intl/intl.dart';
import 'package:ride/constant/links.dart';
import 'package:ride/controller/functions/crud.dart';
import 'package:ride/controller/payment/payment_controller.dart';
import 'package:ride/views/widgets/elevated_btn.dart';
@@ -71,9 +68,27 @@ GetBuilder<MapController> buttomSheetMapPage() {
'${'You trip distance is'.tr} ${controller.distance} KM')
],
),
Text(
'${'Fee is'.tr} \n${controller.totalPassenger.toStringAsFixed(2)}',
style: AppStyle.subtitle,
Padding(
padding:
const EdgeInsets.only(right: 5, left: 5),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.center,
children: [
Text(
'${'Fee is'.tr} \n${controller.totalPassenger.toStringAsFixed(2)}',
style: AppStyle.subtitle,
),
controller.promoTaken
? const Icon(
Icons.filter_vintage_rounded,
color: AppColor.redColor,
)
: const SizedBox(
height: 0,
)
],
),
),
],
),
@@ -228,7 +243,7 @@ GetBuilder<MapController> buttomSheetMapPage() {
child:
TextFormField(
controller:
paymentController.promo,
controller.promo,
decoration:
InputDecoration(
labelText: 'Promo Code'.tr,
@@ -267,8 +282,7 @@ GetBuilder<MapController> buttomSheetMapPage() {
'Add Promo'.tr,
onPressed:
() async {
//TAWJIHI
CRUD().get(link: AppLink.getPassengersPromo);
controller.applyPromoCodetoPassenger();
Get.back();
},
)