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.
143 lines
4.4 KiB
143 lines
4.4 KiB
//
|
|
// PennyTestViewController.swift
|
|
// GME Remit
|
|
//
|
|
// Created by Mac on 11/27/18.
|
|
//Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
class PennyTestViewController: UIViewController {
|
|
|
|
struct StringConstants {
|
|
let proceedText = "proceed_text".localized()
|
|
let notNowText = "not_now_text".localized()
|
|
}
|
|
|
|
// MARK: Properties
|
|
|
|
var presenter: PennyTestModuleInterface?
|
|
var model: KYCResponse?
|
|
var backGroundView: UIView?
|
|
// MARK: IBOutlets
|
|
|
|
@IBOutlet weak var dismissButton: UIButton!
|
|
@IBOutlet weak var iconImageView: UIImageView!
|
|
@IBOutlet weak var infoLabel: UILabel!
|
|
@IBOutlet weak var proceedButton: UIButton!
|
|
// MARK: VC's Life cycle
|
|
|
|
override func viewDidLoad() {
|
|
super.viewDidLoad()
|
|
NotificationCenter.default.addObserver(self, selector: #selector(self.closePennyTest(sender:)), name: NSNotification.Name.init("closePennyTest"), object: nil)
|
|
self.setup()
|
|
}
|
|
|
|
@objc private func closePennyTest(sender: Notification) {
|
|
self.dismiss(animated: true, completion: nil)
|
|
}
|
|
|
|
override func viewWillAppear(_ animated: Bool) {
|
|
super.viewWillAppear(animated)
|
|
UserDefaults.standard.set(true, forKey: AppConstants.pennyTestPresentedOnce)
|
|
|
|
self.navigationItem.title = "penny_test_title_text".localized()
|
|
self.setupNormalNavigation()
|
|
self.navigationItem.hidesBackButton = true
|
|
}
|
|
|
|
override func viewWillDisappear(_ animated: Bool) {
|
|
super.viewWillDisappear(animated)
|
|
self.navigationItem.title = ""
|
|
UserDefaults.standard.set(true, forKey: AppConstants.pennyTestPresentedOnce)
|
|
|
|
}
|
|
|
|
// MARK: IBActions
|
|
|
|
// MARK: Other Functions
|
|
|
|
private func setup() {
|
|
// all setup should be done here
|
|
self.setupNormalNavigation()
|
|
self.proceedButton.rounded()
|
|
iconImageView.rounded()
|
|
iconImageView.layer.borderColor = AppConstants.themeRedColor.cgColor
|
|
iconImageView.layer.borderWidth = 2
|
|
iconImageView.layer.contentsScale = UIScreen.main.scale
|
|
if let _view = self.backGroundView {
|
|
_view.frame = self.view.frame
|
|
self.view.addSubview(_view)
|
|
}
|
|
UserDefaults.standard.set(true, forKey: AppConstants.pennyTestPresentedOnce)
|
|
configureText()
|
|
}
|
|
|
|
private func configureText() {
|
|
self.proceedButton.setTitle(StringConstants().proceedText, for: UIControlState.normal)
|
|
self.dismissButton.setTitle(StringConstants().notNowText, for: UIControlState.normal)
|
|
// penny_test_promt_description_text
|
|
infoLabel.text = "penny_test_promt_description_text".localized()
|
|
}
|
|
|
|
|
|
@IBAction func proceed(_ sender: UIButton) {
|
|
self.proceed()
|
|
}
|
|
|
|
@IBAction func dismiss(_ sender: UIButton) {
|
|
self.updatePennyTestCancelledStatus()
|
|
self.dismiss(animated: true, completion: nil)
|
|
}
|
|
|
|
|
|
private func proceed() {
|
|
let userId = Utility.getMyUserName()
|
|
self.showLoading()
|
|
|
|
self.initiate(userId: userId, isResendRequest: "N", success: { result in
|
|
self.hideLoading()
|
|
UserDefaults.standard.set(result.message, forKey: AppConstants.pennyTestServerMessage)
|
|
self.updatePennyTestRequestStatus()
|
|
let wireframe = PennyTestSubmitWireframe()
|
|
if let navigation = self.navigationController {
|
|
wireframe.parentViewController = self
|
|
wireframe.pushMainView(in: navigation)
|
|
}
|
|
}) { (error) in
|
|
self.hideLoading()
|
|
self.alert(message: error.localizedDescription)
|
|
}
|
|
}
|
|
|
|
private func updatePennyTestRequestStatus() {
|
|
let _default = UserDefaults.standard
|
|
_default.set(PennyTestStatusCode.requested.rawValue, forKey: AppConstants.pennyTestStatusCode)
|
|
}
|
|
|
|
private func updatePennyTestCancelledStatus() {
|
|
let _default = UserDefaults.standard
|
|
_default.set(PennyTestStatusCode.cancelled.rawValue, forKey: AppConstants.pennyTestStatusCode)
|
|
}
|
|
|
|
func showLoading() {
|
|
self.showProgressHud()
|
|
}
|
|
|
|
func hideLoading() {
|
|
self.hideProgressHud()
|
|
}
|
|
}
|
|
|
|
// MARK: PennyTestViewInterface
|
|
extension PennyTestViewController: PennyTestViewInterface {
|
|
|
|
}
|
|
|
|
|
|
extension PennyTestViewController: InitiatePennyTestService {
|
|
|
|
}
|
|
|
|
|