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