Files
driver_tripz/lib/controller/payment/payment_controller.dart
Hamza-Ayed 0368a141d7 10/1/1
2023-10-01 21:54:03 +03:00

86 lines
2.3 KiB
Dart

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';
import '../../main.dart';
import '../functions/crud.dart';
class PaymentController extends GetxController {
bool isLoading = false;
bool isWalletChecked = true;
bool isCashChecked = false;
bool isWalletFound = false;
bool isPromoSheetDialogue = false;
final formKey = GlobalKey<FormState>();
final promo = TextEditingController();
double totalPassenger = MapController().totalPassenger;
int? selectedAmount = 0;
List<dynamic> totalPassengerWalletDetails = [];
String passengerTotalWalletAmount = '';
void updateSelectedAmount(int value) {
selectedAmount = value;
update();
}
void changePromoSheetDialogue() {
isPromoSheetDialogue = !isPromoSheetDialogue;
update();
}
getPassengerWallet() async {
isLoading = true;
update();
await CRUD().get(
link: AppLink.getWalletByPassenger,
payload: {'passenger_id': box.read(BoxName.pasengerID)}).then((value) {
box.write(BoxName.passengerWalletTotal,
jsonDecode(value)['message'][0]['total'].toString());
});
isLoading = false;
update();
}
void onChangedPaymentMethodWallet(bool? value) {
isWalletChecked = !isWalletChecked;
isWalletChecked ? isCashChecked = false : isCashChecked = true;
update();
}
void onChangedPaymentMethodCash(bool? value) {
isCashChecked = !isCashChecked;
isCashChecked ? isWalletChecked = false : isWalletChecked = true;
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']));
MapController().promoTaken = true;
update();
print(totalPassenger);
}
});
}
@override
void onInit() {
getPassengerWallet();
super.onInit();
}
}