|
@ -12,10 +12,55 @@ class ResendExchangeViewController: UIViewController { |
|
|
|
|
|
|
|
|
// MARK: IBOutlets |
|
|
// MARK: IBOutlets |
|
|
|
|
|
|
|
|
|
|
|
@IBOutlet weak var exchangeBackground1: UIView! |
|
|
|
|
|
@IBOutlet weak var exchangeBackground2: UIView! |
|
|
|
|
|
@IBOutlet weak var backgroundViewCountryLabel1: UIView! |
|
|
|
|
|
@IBOutlet weak var backgroundViewCountryLabel2: UIView! |
|
|
|
|
|
@IBOutlet weak var countryListStackView: UIStackView! |
|
|
|
|
|
@IBOutlet weak var countryCodeLabel: UILabel! |
|
|
|
|
|
@IBOutlet weak var countryFlagImage: UIImageView! |
|
|
|
|
|
|
|
|
|
|
|
@IBOutlet weak var continueButton: UIButton! |
|
|
|
|
|
|
|
|
|
|
|
@IBOutlet weak var senderTextField: UITextField! |
|
|
|
|
|
@IBOutlet weak var reciepientTextField: UITextField! |
|
|
|
|
|
|
|
|
|
|
|
@IBOutlet weak var transferFeeInfoLabel: UILabel! |
|
|
|
|
|
@IBOutlet weak var exchangeRateLabel: UILabel! |
|
|
|
|
|
@IBOutlet weak var exchangeInfoStackView: UIStackView! |
|
|
|
|
|
|
|
|
|
|
|
@IBOutlet weak var youSendTitleLabel: UILabel! |
|
|
|
|
|
@IBOutlet weak var recipientGetsTitleLabel: UILabel! |
|
|
|
|
|
|
|
|
// MARK: Properties |
|
|
// MARK: Properties |
|
|
|
|
|
|
|
|
|
|
|
var reciepient: Recipient? |
|
|
|
|
|
var requestModel: SendMoneyRequestModel? |
|
|
|
|
|
var exchangeRateModel: SendMoneyExchangeRateModel? { |
|
|
|
|
|
didSet { |
|
|
|
|
|
// list all rhe |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
var presenter: ResendExchangeModuleInterface? |
|
|
var presenter: ResendExchangeModuleInterface? |
|
|
|
|
|
var calcBy = "" |
|
|
|
|
|
|
|
|
|
|
|
var action: ActionBehaviour? { |
|
|
|
|
|
didSet { |
|
|
|
|
|
if let _action = action { |
|
|
|
|
|
switch _action { |
|
|
|
|
|
case .calculate: |
|
|
|
|
|
self.continueButton.setTitle("calculate_text".localized(), for: .normal) |
|
|
|
|
|
case ._continue: |
|
|
|
|
|
self.continueButton.setTitle("continue_text".localized(), for: .normal) |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var actionDelegate: SendMoneyExchangeRateActionDelegate? |
|
|
|
|
|
|
|
|
|
|
|
var selectedCurrencyViewModel: SendMoneyExchangeRateCurrencyViewModel? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// MARK: VC's Life cycle |
|
|
// MARK: VC's Life cycle |
|
@ -25,13 +70,103 @@ class ResendExchangeViewController: UIViewController { |
|
|
self.setup() |
|
|
self.setup() |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
override func viewWillAppear(_ animated: Bool) { |
|
|
|
|
|
super.viewWillAppear(animated) |
|
|
|
|
|
configureViews() |
|
|
|
|
|
self.action = ActionBehaviour.calculate |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// MARK: IBActions |
|
|
// MARK: IBActions |
|
|
|
|
|
@IBAction func continueButton(_ sender: UIButton) { |
|
|
|
|
|
self.view.endEditing(true) |
|
|
|
|
|
if let _action = action { |
|
|
|
|
|
switch _action { |
|
|
|
|
|
case .calculate: |
|
|
|
|
|
self.calculate() |
|
|
|
|
|
case ._continue: |
|
|
|
|
|
// todo |
|
|
|
|
|
self.goToVerification() |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private func goToVerification() { |
|
|
|
|
|
self.exchangeRateModel?.calcBy = self.calcBy |
|
|
|
|
|
self.exchangeRateModel?.reciepientCurrency = self.selectedCurrencyViewModel?.currency ?? "" |
|
|
|
|
|
// self.requestModel = exchangeRateModel |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
// MARK: Other Functions |
|
|
// MARK: Other Functions |
|
|
|
|
|
|
|
|
private func setup() { |
|
|
private func setup() { |
|
|
// all setup should be done here |
|
|
// all setup should be done here |
|
|
|
|
|
configureViews() |
|
|
|
|
|
setupTargets() |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private func configureViews() { |
|
|
|
|
|
self.exchangeRateModel = nil |
|
|
|
|
|
self.exchangeRateLabel.isHidden = true |
|
|
|
|
|
self.exchangeRateLabel.alpha = 0 |
|
|
|
|
|
self.transferFeeInfoLabel.isHidden = true |
|
|
|
|
|
self.transferFeeInfoLabel.alpha = 0 |
|
|
|
|
|
self.exchangeInfoStackView.isHidden = true |
|
|
|
|
|
exchangeInfoStackView.alpha = 0 |
|
|
|
|
|
self.setCountryFlag(countryCode: self.reciepient?.countryCode ?? "") |
|
|
|
|
|
let deliveryMethod = self.requestModel?.paymemtMode |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private func setCountryFlag(countryCode: String) { |
|
|
|
|
|
let flag = CountryInfo().getFlag(for: countryCode) |
|
|
|
|
|
self.countryFlagImage.image = flag |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private func setupTargets() { |
|
|
|
|
|
self.reciepientTextField.addTarget(self, action: #selector(self.textChanged(sender:)), for: UIControlEvents.editingChanged) |
|
|
|
|
|
|
|
|
|
|
|
self.senderTextField.addTarget(self, action: #selector(self.textChanged(sender:)), for: UIControlEvents.editingChanged) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func calculate() { |
|
|
|
|
|
let senderAmount = self.senderTextField.text! |
|
|
|
|
|
let reciepientAmount = self.reciepientTextField.text! |
|
|
|
|
|
self.calculateExchangeRate(senderAmount: senderAmount, reciepientAmount: reciepientAmount, calcBy: self.calcBy) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func calculateExchangeRate(senderAmount: String, reciepientAmount: String, calcBy: String) { |
|
|
|
|
|
let senderAmount = senderAmount // send sAmt amount |
|
|
|
|
|
let reciepientAmount = reciepientAmount |
|
|
|
|
|
let recipientCurrency = self.selectedCurrencyViewModel?.currency |
|
|
|
|
|
let reciepientCountryId = self.reciepient?.countryId |
|
|
|
|
|
let paymentMethod = self.requestModel?.autoDebitAccount?.type ?? "" |
|
|
|
|
|
let paymentMethodId = self.requestModel?.paymemtMode?.id |
|
|
|
|
|
let payoutPartner = self.requestModel?.paymemtMode?.payoutPartner |
|
|
|
|
|
let myUsername = Utility.getMyUserName() |
|
|
|
|
|
let bankId = self.requestModel?.bank?.id //bank id if selected bank |
|
|
|
|
|
let reciepientCountryName = self.reciepient?.country |
|
|
|
|
|
self.calculate(senderAmt: senderAmount, recieverAmt: reciepientAmount, recieverCurrency: recipientCurrency, recieverCountryName: reciepientCountryName, recieverCountryId: reciepientCountryId, paymentMethod: paymentMethod, paymentMethodId: paymentMethodId, calcBy: calcBy, payoutPartner: payoutPartner, userId: myUsername, bankId: bankId) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func calculate(senderAmt: String?, senderCurrency: String? = "KRW", recieverAmt: String?, recieverCurrency: String?, recieverCountryName: String?, recieverCountryId: String?, paymentMethod: String?, paymentMethodId: String? ,calcBy: String?, senderCountryId: String? = "118", payoutPartner: String?, userId: String?, bankId: String?) { |
|
|
|
|
|
// self.presenter?.calculate(senderAmt: senderAmt, senderCurrency: senderCurrency, recieverAmt: recieverAmt, recieverCurrency: recieverCurrency, recieverCountryName: recieverCountryName, recieverCountryId: recieverCountryId, paymentMethod: paymentMethod, paymentMethodId: paymentMethodId, calcBy: calcBy, senderCountryId: senderCountryId, payoutPartner: payoutPartner, userId: userId, bankId: bankId) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@objc private func textChanged(sender: UITextField) { |
|
|
|
|
|
self.action = .calculate |
|
|
|
|
|
switch sender { |
|
|
|
|
|
case senderTextField: |
|
|
|
|
|
self.reciepientTextField.text = "" |
|
|
|
|
|
self.calcBy = "c" |
|
|
|
|
|
senderTextField.text = Utility.getCommaSeperatedString(numberString: senderTextField.text!) |
|
|
|
|
|
case reciepientTextField: |
|
|
|
|
|
self.senderTextField.text = "" |
|
|
|
|
|
self.calcBy = "p" |
|
|
|
|
|
reciepientTextField.text = Utility.getCommaSeperatedString(numberString: reciepientTextField.text!) |
|
|
|
|
|
default: |
|
|
|
|
|
break |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -39,3 +174,19 @@ class ResendExchangeViewController: UIViewController { |
|
|
extension ResendExchangeViewController: ResendExchangeViewInterface { |
|
|
extension ResendExchangeViewController: ResendExchangeViewInterface { |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extension ResendExchangeViewController { |
|
|
|
|
|
|
|
|
|
|
|
func show(error: String) { |
|
|
|
|
|
self.alert(message: error) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func showLoading() { |
|
|
|
|
|
self.showProgressHud() |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func hideLoading() { |
|
|
|
|
|
self.hideProgressHud() |
|
|
|
|
|
} |
|
|
|
|
|
} |