diff --git a/GMERemittance/Library/CountryWithFlagPicker/CountryPickerViewController.swift b/GMERemittance/Library/CountryWithFlagPicker/CountryPickerViewController.swift
index 9ef77d1e..4d65eb99 100644
--- a/GMERemittance/Library/CountryWithFlagPicker/CountryPickerViewController.swift
+++ b/GMERemittance/Library/CountryWithFlagPicker/CountryPickerViewController.swift
@@ -15,6 +15,7 @@ enum PickerTitle: String {
case relation = "Relation"
case transferReasons = "Transfer Reason"
case bank = "Bank"
+ case branch = "Branch"
}
class CountryPickerViewController: UIViewController {
diff --git a/GMERemittance/Model/SendMoneyPaymentModeModel.swift b/GMERemittance/Model/SendMoneyPaymentModeModel.swift
index cb5f88de..99538cba 100644
--- a/GMERemittance/Model/SendMoneyPaymentModeModel.swift
+++ b/GMERemittance/Model/SendMoneyPaymentModeModel.swift
@@ -72,6 +72,7 @@ class SendMoneyBank: Mappable {
var id: String?
var name: String?
var branchRequired: String?
+ var branches: [SendMoneyBankBranch]?
var accountRequired: String?
var accountValidationRequired: String?
var payCurrency: [String]?
@@ -87,5 +88,22 @@ class SendMoneyBank: Mappable {
accountRequired <- map["IsAccountRequired"]
accountValidationRequired <- map["IsAccountValidation"]
payCurrency <- map["PayCurrency"]
+ branches <- map["BranchList"]
+ }
+}
+
+
+class SendMoneyBankBranch: Mappable {
+
+ var id: String?
+ var name: String?
+
+ required init?(map: Map) {
+
+ }
+
+ func mapping(map: Map) {
+ id <- map["Id"]
+ name <- map["Name"]
}
}
diff --git a/GMERemittance/Module/SendMoneyPaymentMode/User Interface/View/SendMoneyPaymentMode.storyboard b/GMERemittance/Module/SendMoneyPaymentMode/User Interface/View/SendMoneyPaymentMode.storyboard
index d5128a15..b554623a 100644
--- a/GMERemittance/Module/SendMoneyPaymentMode/User Interface/View/SendMoneyPaymentMode.storyboard
+++ b/GMERemittance/Module/SendMoneyPaymentMode/User Interface/View/SendMoneyPaymentMode.storyboard
@@ -30,7 +30,7 @@
-
+
diff --git a/GMERemittance/Module/SendMoneyPaymentMode/User Interface/View/SendMoneyPaymentModeViewController.swift b/GMERemittance/Module/SendMoneyPaymentMode/User Interface/View/SendMoneyPaymentModeViewController.swift
index b8eb1f38..78696ce7 100644
--- a/GMERemittance/Module/SendMoneyPaymentMode/User Interface/View/SendMoneyPaymentModeViewController.swift
+++ b/GMERemittance/Module/SendMoneyPaymentMode/User Interface/View/SendMoneyPaymentModeViewController.swift
@@ -63,9 +63,19 @@ class SendMoneyPaymentModeViewController: UIViewController {
let shouldShowBranch = (self.selectedBank?.branchRequired ?? "false").lowercased() == "true"
self.branchStackView.isHidden = false
+
+ let shouldShowAccountNumber = (self.selectedBank?.accountRequired ?? "false").lowercased() == "true"
+
+ self.accountNumberStackView.isHidden = !shouldShowAccountNumber
// branchStackView.isHidden = !shouldShowBranch
}
}
+
+ var selectedBranch: SendMoneyBankBranch? {
+ didSet {
+ self.branchTextField.text = selectedBranch?.name
+ }
+ }
// MARK: VC's Life cycle
override func viewDidLoad() {
@@ -115,6 +125,23 @@ class SendMoneyPaymentModeViewController: UIViewController {
self.present(viewcontroller, animated: true, completion: nil)
}
+ private func showBranchPickerView() {
+ let viewcontroller = self.getPickerViewController()
+ let branches = self.selectedBank?.branches ?? []
+ let names = branches.compactMap({$0.name})
+ viewcontroller.data = names
+ viewcontroller.type = PickerTitle.branch
+ viewcontroller.doneAction = self.branchSelected
+ viewcontroller.defaultSelectedData = [self.selectedBranch?.name ?? ""]
+ self.present(viewcontroller, animated: true, completion: nil)
+ }
+
+ func branchSelected(branches: [String]) {
+ let _branches = self.selectedBank?.branches ?? []
+ let _branch = _branches.filter({($0.name ?? "") == (branches.first ?? "") }).first
+ self.selectedBranch = _branch
+ }
+
func bankSelected(banks: [String]) {
let _banks = self.selectedPayoutMode?.bankList ?? []
let _bank = _banks.filter({($0.name ?? "") == (banks.first ?? "") }).first