From 4628f91d3efe28e53879226de8b80656f8c207b9 Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Tue, 29 Aug 2023 01:22:43 +0300 Subject: [PATCH] 8-28/2 --- lib/controller/functions/crud.dart | 4 +-- lib/controller/home/map_page_controller.dart | 21 ++++++++++++ .../payment/payment_controller.dart | 21 +++++++++++- .../buttom_sheet_map_show.dart | 32 +++++++++++++------ 4 files changed, 66 insertions(+), 12 deletions(-) diff --git a/lib/controller/functions/crud.dart b/lib/controller/functions/crud.dart index a022b83..a8ee60d 100644 --- a/lib/controller/functions/crud.dart +++ b/lib/controller/functions/crud.dart @@ -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') { diff --git a/lib/controller/home/map_page_controller.dart b/lib/controller/home/map_page_controller.dart index 90a9374..29d5de1 100644 --- a/lib/controller/home/map_page_controller.dart +++ b/lib/controller/home/map_page_controller.dart @@ -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.]+'), ''); diff --git a/lib/controller/payment/payment_controller.dart b/lib/controller/payment/payment_controller.dart index 482c627..5f7fc43 100644 --- a/lib/controller/payment/payment_controller.dart +++ b/lib/controller/payment/payment_controller.dart @@ -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(); 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(); diff --git a/lib/views/home/map_widget.dart/buttom_sheet_map_show.dart b/lib/views/home/map_widget.dart/buttom_sheet_map_show.dart index 9eb26a3..1d7d4fe 100644 --- a/lib/views/home/map_widget.dart/buttom_sheet_map_show.dart +++ b/lib/views/home/map_widget.dart/buttom_sheet_map_show.dart @@ -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 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 buttomSheetMapPage() { child: TextFormField( controller: - paymentController.promo, + controller.promo, decoration: InputDecoration( labelText: 'Promo Code'.tr, @@ -267,8 +282,7 @@ GetBuilder buttomSheetMapPage() { 'Add Promo'.tr, onPressed: () async { - //TAWJIHI - CRUD().get(link: AppLink.getPassengersPromo); + controller.applyPromoCodetoPassenger(); Get.back(); }, )