|
@ -8,6 +8,11 @@ |
|
|
|
|
|
|
|
|
import UIKit |
|
|
import UIKit |
|
|
|
|
|
|
|
|
|
|
|
class SendMoneyExchangeRateCurrencyViewModel{ |
|
|
|
|
|
var countryCode: String? |
|
|
|
|
|
var currency: String? |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
class SendMoneyExchangeRateViewController: UIViewController { |
|
|
class SendMoneyExchangeRateViewController: UIViewController { |
|
|
|
|
|
|
|
|
// MARK: IBOutlets |
|
|
// MARK: IBOutlets |
|
@ -34,7 +39,37 @@ class SendMoneyExchangeRateViewController: UIViewController { |
|
|
// MARK: Properties |
|
|
// MARK: Properties |
|
|
|
|
|
|
|
|
var presenter: SendMoneyExchangeRateModuleInterface? |
|
|
var presenter: SendMoneyExchangeRateModuleInterface? |
|
|
var reciepient: Recipient? |
|
|
|
|
|
|
|
|
var currencyInfoViewModel: [SendMoneyExchangeRateCurrencyViewModel]? |
|
|
|
|
|
|
|
|
|
|
|
var reciepient: Recipient? { |
|
|
|
|
|
didSet { |
|
|
|
|
|
self.setCountryFlag(countryCode: self.reciepient?.countryCode ?? "") |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var requestModel: SendMoneyRequestModel? { |
|
|
|
|
|
didSet { |
|
|
|
|
|
let deliveryMethod = self.requestModel?.paymemtMode |
|
|
|
|
|
if (deliveryMethod?.bankRequired ?? "false").lowercased() == "true" { |
|
|
|
|
|
self.currencies = self.requestModel?.bank?.payCurrency ?? [] |
|
|
|
|
|
}else { |
|
|
|
|
|
self.currencies = deliveryMethod?.payCurrency ?? [] |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var currencies: [String]? { |
|
|
|
|
|
didSet { |
|
|
|
|
|
let models: [SendMoneyExchangeRateCurrencyViewModel] = |
|
|
|
|
|
(self.currencies ?? []).map({ |
|
|
|
|
|
let viewmodel = SendMoneyExchangeRateCurrencyViewModel() |
|
|
|
|
|
viewmodel.countryCode = self.reciepient?.countryCode ?? "" |
|
|
|
|
|
viewmodel.currency = $0 |
|
|
|
|
|
return viewmodel |
|
|
|
|
|
}) |
|
|
|
|
|
self.currencyInfoViewModel = models |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
var hudDelegate: HUDStatusDelegate? |
|
|
var hudDelegate: HUDStatusDelegate? |
|
|
var actionDelegate: SendMoneyExchangeRateActionDelegate? |
|
|
var actionDelegate: SendMoneyExchangeRateActionDelegate? |
|
|
|
|
|
|
|
@ -56,9 +91,36 @@ class SendMoneyExchangeRateViewController: UIViewController { |
|
|
|
|
|
|
|
|
private func setup() { |
|
|
private func setup() { |
|
|
// all setup should be done here |
|
|
// all setup should be done here |
|
|
|
|
|
self.setupTargets() |
|
|
self.configureViews() |
|
|
self.configureViews() |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private func setCountryFlag(countryCode: String) { |
|
|
|
|
|
let flag = CountryInfo().getFlag(for: countryCode) |
|
|
|
|
|
self.countryFlagImage.image = flag |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private func setCurrencyLabel(currency: String) { |
|
|
|
|
|
self.countryCodeLabel.text = currency.uppercased() |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private func setupTargets() { |
|
|
|
|
|
let tapGuesture = UITapGestureRecognizer(target: self, action: #selector(self.showCountryList(_:))) |
|
|
|
|
|
self.countryListTapGuesture = tapGuesture |
|
|
|
|
|
self.countryListStackView.addGestureRecognizer(self.countryListTapGuesture!) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@objc func showCountryList(_ sender: UITapGestureRecognizer) { |
|
|
|
|
|
print("show Country List") |
|
|
|
|
|
let viewcontroller = UIStoryboard.init(name: "TableViewPicker", bundle: nil).instantiateViewController(withIdentifier: "TablePickerViewController") as! TablePickerViewController |
|
|
|
|
|
// viewcontroller.data = self.exchangeRateModels ?? [] |
|
|
|
|
|
viewcontroller.type = TablePickerViewTitle.country |
|
|
|
|
|
// viewcontroller.doneAction = self.countrySelected |
|
|
|
|
|
|
|
|
|
|
|
self.present(viewcontroller, animated: true, completion: nil) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
private func configureViews() { |
|
|
private func configureViews() { |
|
|
let dropDownImage = #imageLiteral(resourceName: "dropdown_white").withRenderingMode(UIImageRenderingMode.alwaysTemplate) |
|
|
let dropDownImage = #imageLiteral(resourceName: "dropdown_white").withRenderingMode(UIImageRenderingMode.alwaysTemplate) |
|
|
let image = dropDownImage |
|
|
let image = dropDownImage |
|
|