Initial commit
This commit is contained in:
112
lib/controllers/withdraw_method_setup_controller.dart
Normal file
112
lib/controllers/withdraw_method_setup_controller.dart
Normal file
@@ -0,0 +1,112 @@
|
||||
import 'package:driver/constant/collection_name.dart';
|
||||
import 'package:driver/constant/constant.dart';
|
||||
import 'package:driver/models/payment_model/flutter_wave_model.dart';
|
||||
import 'package:driver/models/payment_model/paypal_model.dart';
|
||||
import 'package:driver/models/payment_model/razorpay_model.dart';
|
||||
import 'package:driver/models/payment_model/stripe_model.dart';
|
||||
import 'package:driver/models/user_model.dart';
|
||||
import 'package:driver/models/withdraw_method_model.dart';
|
||||
import 'package:driver/utils/fire_store_utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
class WithdrawMethodSetupController extends GetxController {
|
||||
Rx<TextEditingController> accountNumberFlutterWave = TextEditingController().obs;
|
||||
Rx<TextEditingController> bankCodeFlutterWave = TextEditingController().obs;
|
||||
Rx<TextEditingController> emailPaypal = TextEditingController().obs;
|
||||
Rx<TextEditingController> accountIdRazorPay = TextEditingController().obs;
|
||||
Rx<TextEditingController> accountIdStripe = TextEditingController().obs;
|
||||
|
||||
Rx<UserBankDetails> userBankDetails = UserBankDetails().obs;
|
||||
Rx<WithdrawMethodModel> withdrawMethodModel = WithdrawMethodModel().obs;
|
||||
|
||||
RxBool isBankDetailsAdded = false.obs;
|
||||
|
||||
RxBool isLoading = true.obs;
|
||||
Rx<RazorPayModel> razorPayModel = RazorPayModel().obs;
|
||||
Rx<PayPalModel> paypalDataModel = PayPalModel().obs;
|
||||
Rx<StripeModel> stripeSettingData = StripeModel().obs;
|
||||
Rx<FlutterWaveModel> flutterWaveSettingData = FlutterWaveModel().obs;
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
// TODO: implement onInit
|
||||
getPaymentMethod();
|
||||
getPaymentSettings();
|
||||
super.onInit();
|
||||
}
|
||||
|
||||
Future<void> getPaymentMethod() async {
|
||||
isLoading.value = true;
|
||||
accountNumberFlutterWave.value.clear();
|
||||
bankCodeFlutterWave.value.clear();
|
||||
emailPaypal.value.clear();
|
||||
accountIdRazorPay.value.clear();
|
||||
accountIdStripe.value.clear();
|
||||
|
||||
await FireStoreUtils.getWithdrawMethod().then(
|
||||
(value) {
|
||||
if (value != null) {
|
||||
withdrawMethodModel.value = value;
|
||||
|
||||
if (withdrawMethodModel.value.flutterWave != null) {
|
||||
accountNumberFlutterWave.value.text = withdrawMethodModel.value.flutterWave!.accountNumber.toString();
|
||||
bankCodeFlutterWave.value.text = withdrawMethodModel.value.flutterWave!.bankCode.toString();
|
||||
}
|
||||
|
||||
if (withdrawMethodModel.value.paypal != null) {
|
||||
emailPaypal.value.text = withdrawMethodModel.value.paypal!.email.toString();
|
||||
}
|
||||
|
||||
if (withdrawMethodModel.value.razorpay != null) {
|
||||
accountIdRazorPay.value.text = withdrawMethodModel.value.razorpay!.accountId.toString();
|
||||
}
|
||||
if (withdrawMethodModel.value.stripe != null) {
|
||||
accountIdStripe.value.text = withdrawMethodModel.value.stripe!.accountId.toString();
|
||||
}
|
||||
}
|
||||
},
|
||||
);
|
||||
isLoading.value = false;
|
||||
}
|
||||
|
||||
Future<void> getPaymentSettings() async {
|
||||
if (Constant.userModel!.userBankDetails != null) {
|
||||
userBankDetails.value = Constant.userModel!.userBankDetails!;
|
||||
isBankDetailsAdded.value = userBankDetails.value.accountNumber.isNotEmpty;
|
||||
}
|
||||
|
||||
await FireStoreUtils.fireStore.collection(CollectionName.settings).doc("razorpaySettings").get().then((user) {
|
||||
try {
|
||||
razorPayModel.value = RazorPayModel.fromJson(user.data() ?? {});
|
||||
} catch (e) {
|
||||
debugPrint('FireStoreUtils.getUserByID failed to parse user object ${user.id}');
|
||||
}
|
||||
});
|
||||
|
||||
await FireStoreUtils.fireStore.collection(CollectionName.settings).doc("paypalSettings").get().then((paypalData) {
|
||||
try {
|
||||
paypalDataModel.value = PayPalModel.fromJson(paypalData.data() ?? {});
|
||||
} catch (error) {
|
||||
debugPrint(error.toString());
|
||||
}
|
||||
});
|
||||
|
||||
await FireStoreUtils.fireStore.collection(CollectionName.settings).doc("stripeSettings").get().then((paypalData) {
|
||||
try {
|
||||
stripeSettingData.value = StripeModel.fromJson(paypalData.data() ?? {});
|
||||
} catch (error) {
|
||||
debugPrint(error.toString());
|
||||
}
|
||||
});
|
||||
|
||||
await FireStoreUtils.fireStore.collection(CollectionName.settings).doc("flutterWave").get().then((paypalData) {
|
||||
try {
|
||||
flutterWaveSettingData.value = FlutterWaveModel.fromJson(paypalData.data() ?? {});
|
||||
} catch (error) {
|
||||
debugPrint(error.toString());
|
||||
}
|
||||
});
|
||||
isLoading.value = false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user