You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// // WalletReviewViewController.swift // GMERemittance // // Created by Sujal on 2/28/18. // Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved. //
import UIKit
class WalletReviewViewController: UIViewController {
@IBOutlet weak var scrollView: UIScrollView! @IBOutlet weak var contentView: UIView! @IBOutlet weak var labelMessage: UILabel! @IBOutlet weak var labelReviewMessage: UILabel! @IBOutlet weak var labelAmount: UILabel! @IBOutlet weak var labelID: UILabel! @IBOutlet weak var labelFullName: UILabel! @IBOutlet weak var buttonReview: UIButton! var walletviewmodel: WalletViewModel? var moneyRequestAccepted: Bool? private var checkDialog = 0 private var activityIndicator: UIActivityIndicatorView = UIActivityIndicatorView() override func viewDidLoad() { super.viewDidLoad()
setUpNavBar(id: 201, title: "Wallet to Wallet Transfer") guard walletviewmodel != nil, moneyRequestAccepted != nil else { self.popUpMessageInfo(value: 16, title: "No Data", message: "Data not received") buttonReview.isUserInteractionEnabled = false return }
setUpAnotherLoginListener(genericviewmodel: walletviewmodel!)
walletviewmodel?.walletConnectionTimeOut.value = nil /**
connection timeout */ walletviewmodel?.walletConnectionTimeOut.bind { [unowned self] in guard $0 != nil else { return } self.stopLoading() if self.checkDialog == 0{ self.checkDialog = self.checkDialog + 1 self.popUpMessage(value: 20) } } /**
Check internet connection */
walletviewmodel?.internetConnection.value = nil walletviewmodel?.internetConnection.bind { [unowned self] in guard $0 != nil else { return } self.stopLoading() self.popUpMessage(value: 15) } /**
Api request for wallet transfer or request action */ walletviewmodel!.walletActionPerformed.bind{ [unowned self] in guard $0 != nil else { return } self.stopLoading() guard $0! else { if self.checkDialog == 0{ self.checkDialog = self.checkDialog + 1 self.popUpMessageError(value: 10, message: (self.walletviewmodel?.getErrorMessage())!) } return } self.performSegue(withIdentifier: "walletSuccess", sender: nil) } /**
Check review message */ if walletviewmodel!.getModeIndex() == 0 { labelReviewMessage.text = "Review your Transfer" buttonReview.setTitle("Transfer", for: .normal) } else if walletviewmodel!.getModeIndex() == 1 { buttonReview.setTitle("Request", for: .normal) labelReviewMessage.text = "Review your Request" } self.setReviewMessage() scrollView.contentSize = contentView.frame.size } /**
Set review message */ func setReviewMessage(){ let numberFormatter = NumberFormatter() numberFormatter.numberStyle = NumberFormatter.Style.decimal if let amount = walletviewmodel?.getAmount(){ let amountNumber = Float(amount)! as NSNumber labelAmount.text = numberFormatter.string(from: amountNumber)! + " KRW" } if let gmeId = walletviewmodel?.getGMEID(){ labelID.text = gmeId } if let fullName = walletviewmodel?.getFullName(){ labelFullName.text = "(" + fullName + ")" } if let message = walletviewmodel?.getMessage(){ labelMessage.text = message } } /**
Disable user interaction while fetching data from api */ func startLoading(){ self.showActivityIndicator(activityIndicator: self.activityIndicator) self.disableUserInteractions() } /**
Enable user interaction while fetching data from api */ func stopLoading(){ self.dismissActivityIndicator(activityIndicator: self.activityIndicator) self.enableUserInteractions() }
@IBAction func performWalletTransaction(_ sender: Any) { let alertController = UIAlertController(title: "Enter your login password", message: "", preferredStyle: .alert) alertController.addTextField { (textField : UITextField!) -> Void in textField.placeholder = "Password" textField.isSecureTextEntry = true textField.tag = 51 //unique identifier set textField.delegate = self } let confirmAction = UIAlertAction(title: "Confirm", style: .default, handler: { alert -> Void in if self.checkDialog == 1{ self.checkDialog = 0 } let passwordTextField = alertController.textFields![0] as UITextField if passwordTextField.text != "" { self.startLoading() self.walletviewmodel?.performWalletAction(password: passwordTextField.text!, moneyRequestAccepted: self.moneyRequestAccepted!) } else { self.popUpMessageError(value: 11, message: "Password is missing") } }) let cancelAction = UIAlertAction(title: "Cancel", style: .destructive, handler: { (action : UIAlertAction!) -> Void in }) cancelAction.setValue(UIColor.black, forKey: "titleTextColor") confirmAction.setValue(UIColor(hex:0xEC1C24), forKey: "titleTextColor")
alertController.addAction(cancelAction) alertController.addAction(confirmAction) self.present(alertController, animated: true, completion: nil) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "walletSuccess" { let walletSuccessViewController = segue.destination as! WalletSuccessViewController walletSuccessViewController.walletviewmodel = self.walletviewmodel } } }
extension WalletReviewViewController: UITextFieldDelegate { func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool { if textField.tag == 51 { textField.tag = 0 return false } return true } }
|