86 lines
2.2 KiB
Dart
86 lines
2.2 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 isWalletCheced = true;
|
|
bool isCashCheced = false;
|
|
bool isWalletFound = false;
|
|
bool isPromoSheetDialogue = false;
|
|
final formKey = GlobalKey<FormState>();
|
|
final promo = TextEditingController();
|
|
double totalPassenger = MapController().totalPassenger;
|
|
int? selectedAmount;
|
|
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 onChangedPymentethodWallet(bool? value) {
|
|
isWalletCheced = !isWalletCheced;
|
|
isWalletCheced ? isCashCheced = false : isCashCheced = true;
|
|
update();
|
|
}
|
|
|
|
void onChangedPymentethodCash(bool? value) {
|
|
isCashCheced = !isCashCheced;
|
|
isCashCheced ? isWalletCheced = false : isWalletCheced = 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();
|
|
}
|
|
}
|