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.
120 lines
3.9 KiB
120 lines
3.9 KiB
//
|
|
// ReferalCodeViewController.swift
|
|
// GMERemittance
|
|
//
|
|
// Created by Sujal on 4/20/18.
|
|
// Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
class ReferralCodeViewController: PopUpGeneralInfo {
|
|
|
|
var referralCodeAvailable: Box<Bool?> = Box(nil)
|
|
|
|
private var referralcodeviewmodel = ReferralCodeViewModel()
|
|
|
|
private var activityIndicator: UIActivityIndicatorView = UIActivityIndicatorView()
|
|
|
|
public static var referralCodeConnectionTimeOut = 0
|
|
|
|
@IBOutlet weak var textFieldReferralCode: UITextField!
|
|
|
|
@IBAction func dismissDialog(_ sender: Any) {
|
|
self.navigationController?.navigationBar.isHidden = false
|
|
self.removeAnimate()
|
|
referralCodeAvailable.value = false
|
|
}
|
|
|
|
/**
|
|
Internet check
|
|
*/
|
|
func setUpNetworkListener() {
|
|
referralcodeviewmodel.internetConnection.bind { [unowned self] in
|
|
guard $0 != nil else {
|
|
return
|
|
}
|
|
if !$0! {
|
|
self.dismissActivityIndicator(activityIndicator: self.activityIndicator)
|
|
self.enableUserInteractions()
|
|
self.popUpMessage(value: 15)
|
|
self.referralcodeviewmodel.internetConnection.value = nil
|
|
}
|
|
}
|
|
}
|
|
|
|
@IBAction func submitReferralCode(_ sender: Any) {
|
|
|
|
view.endEditing(true)
|
|
showActivityIndicator(activityIndicator: activityIndicator)
|
|
disableUserInteractions()
|
|
|
|
referralcodeviewmodel.validateReferralCode(referralCode: textFieldReferralCode.text!)
|
|
}
|
|
/**
|
|
Check referral code validation
|
|
*/
|
|
func bindReferralCodeValidation() {
|
|
referralcodeviewmodel.referralCodeValidated.bind { [unowned self] in
|
|
guard $0 != nil else {
|
|
return
|
|
}
|
|
|
|
self.dismissActivityIndicator(activityIndicator: self.activityIndicator)
|
|
self.enableUserInteractions()
|
|
|
|
if $0! {
|
|
self.navigationController?.navigationBar.isHidden = false
|
|
self.removeAnimate()
|
|
self.referralCodeAvailable.value = true
|
|
} else {
|
|
if ReferralCodeViewController.referralCodeConnectionTimeOut == 0{
|
|
ReferralCodeViewController.referralCodeConnectionTimeOut = ReferralCodeViewController.referralCodeConnectionTimeOut+1
|
|
self.popUpMessageError(value: 10, message: self.referralcodeviewmodel.getErrorMessage())
|
|
}
|
|
}
|
|
self.referralcodeviewmodel.referralCodeValidated.value = nil
|
|
}
|
|
}
|
|
|
|
override func viewDidLoad() {
|
|
super.viewDidLoad()
|
|
|
|
self.setUpNetworkListener()
|
|
|
|
setUpAnotherLoginListener(genericviewmodel: referralcodeviewmodel)
|
|
|
|
referralcodeviewmodel.referralConnectionTimeOut.value = nil
|
|
/**
|
|
connection timeout
|
|
*/
|
|
referralcodeviewmodel.referralConnectionTimeOut.bind { [unowned self] in
|
|
guard $0 != nil else {
|
|
return
|
|
}
|
|
self.dismissActivityIndicator(activityIndicator: self.activityIndicator)
|
|
self.enableUserInteractions()
|
|
|
|
if ReferralCodeViewController.referralCodeConnectionTimeOut == 0{
|
|
ReferralCodeViewController.referralCodeConnectionTimeOut = ReferralCodeViewController.referralCodeConnectionTimeOut+1
|
|
self.popUpMessage(value: 44)
|
|
}
|
|
}
|
|
|
|
bindReferralCodeValidation()
|
|
|
|
self.view.backgroundColor = UIColor.black.withAlphaComponent(0.7)
|
|
|
|
self.showAnimate()
|
|
}
|
|
|
|
override func didReceiveMemoryWarning() {
|
|
super.didReceiveMemoryWarning()
|
|
|
|
}
|
|
|
|
func getReferralCode() -> String {
|
|
return referralcodeviewmodel.getValidReferralCode()
|
|
}
|
|
|
|
}
|