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.

598 lines
30 KiB

6 years ago
  1. //
  2. // UIExtension.swift
  3. // GMERemittance
  4. //
  5. // Created by Sujal on 12/11/17.
  6. // Copyright © 2017 Gobal Money Express Co. Ltd. All rights reserved.
  7. //
  8. import Foundation
  9. import UIKit
  10. extension UIViewController {
  11. func prepareAlert(title: String, message: String) -> UIAlertController {
  12. let alert = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.alert)
  13. alert.addAction(UIAlertAction(title: "Ok", style: .default, handler: nil))
  14. return alert
  15. }
  16. func showActivityIndicator(activityIndicator: UIActivityIndicatorView) {
  17. activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.gray
  18. activityIndicator.center = view.center
  19. activityIndicator.hidesWhenStopped = true
  20. view.addSubview(activityIndicator)
  21. activityIndicator.startAnimating()
  22. }
  23. func dismissActivityIndicator(activityIndicator: UIActivityIndicatorView) {
  24. activityIndicator.stopAnimating()
  25. }
  26. func hideKeyboardWhenTappedAround() {
  27. let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(UIViewController.dismissKeyboard))
  28. tap.cancelsTouchesInView = false
  29. view.addGestureRecognizer(tap)
  30. }
  31. @objc func dismissKeyboard() {
  32. view.endEditing(true)
  33. }
  34. func setUpNavBar(id: Int, title:String) {
  35. switch id {
  36. case 99: //Settings Screen
  37. self.navigationController?.navigationBar.barTintColor = UIColor.white
  38. self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "backIconBlack"), style: .plain, target: self, action: #selector(self.handleBack))
  39. self.navigationItem.leftBarButtonItem?.tintColor = UIColor.black
  40. case 201:
  41. self.navigationItem.leftBarButtonItem = UIBarButtonItem(title:" ", style:.plain, target:nil, action:nil)
  42. self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "backIconBlack"), style: .plain, target: self, action: #selector(self.handleBack))
  43. self.navigationItem.leftBarButtonItem?.tintColor = UIColor.black
  44. self.navigationController?.navigationBar.barTintColor = UIColor.white
  45. self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(UIViewController.goToHomeScreen))
  46. self.navigationItem.title = title
  47. self.navigationItem.rightBarButtonItem?.tintColor = UIColor(red:0.93, green:0.11, blue:0.14, alpha:1.0)
  48. self.navigationController?.navigationBar.backIndicatorImage = UIImage(named: "backIconBlack")
  49. self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "backIconBlack")
  50. self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor:UIColor.black]
  51. case 202:
  52. self.navigationItem.hidesBackButton = true
  53. self.navigationController?.navigationBar.barTintColor = UIColor(red:0.93, green:0.11, blue:0.14, alpha:1.0)
  54. let textAttributes = [NSAttributedStringKey.foregroundColor:UIColor.white]
  55. self.navigationController?.navigationBar.titleTextAttributes = textAttributes
  56. self.navigationItem.title = title
  57. self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "backIconBlack"), style: .plain, target: self, action: #selector(self.handleBack))
  58. self.navigationItem.leftBarButtonItem?.tintColor = UIColor.white
  59. case 203:
  60. self.navigationItem.hidesBackButton = true
  61. self.navigationController?.navigationBar.barTintColor = UIColor.white
  62. self.navigationItem.title = title
  63. case 300:
  64. // self.navigationItem.hidesBackButton = true
  65. self.navigationController?.navigationBar.barTintColor = UIColor(hex: 0xec1c24)
  66. self.navigationItem.title = title
  67. self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "backIconBlack"), style: .plain, target: self, action: #selector(self.handleBack))
  68. self.navigationItem.leftBarButtonItem?.tintColor = UIColor.white
  69. self.navigationController?.navigationBar.backIndicatorImage = UIImage(named: "backIconBlack")
  70. self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "backIconBlack")
  71. self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor:UIColor.white]
  72. //TRACK TO SEND MONEY
  73. case 204:
  74. self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: " ", style:.plain, target:nil, action:nil)
  75. self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "backIconBlack"), style: .plain, target: self, action: #selector(self.handleBack))
  76. self.navigationItem.leftBarButtonItem?.tintColor = UIColor.black
  77. self.navigationController?.navigationBar.barTintColor = UIColor.white
  78. self.navigationItem.title = title
  79. self.navigationController?.navigationBar.backIndicatorImage = UIImage(named: "backIconBlack")
  80. self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "backIconBlack")
  81. self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor:UIColor.black]
  82. case 205:
  83. self.navigationItem.leftBarButtonItem = UIBarButtonItem(title:" ", style:.plain, target:nil, action:nil)
  84. self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "backIconBlack"), style: .plain, target: self, action: #selector(self.handleBack))
  85. self.navigationItem.leftBarButtonItem?.tintColor = UIColor.black
  86. self.navigationController?.navigationBar.barTintColor = UIColor.white
  87. self.navigationItem.title = title
  88. self.navigationController?.navigationBar.backIndicatorImage = UIImage(named: "backIconBlack")
  89. self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "backIconBlack")
  90. self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor:UIColor.black]
  91. case 206:
  92. self.navigationItem.leftBarButtonItem = UIBarButtonItem(title:" ", style:.plain, target:nil, action:nil)
  93. self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "backIconBlack"), style: .plain, target: self, action: #selector(self.handleBack))
  94. self.navigationItem.leftBarButtonItem?.tintColor = UIColor.black
  95. self.navigationController?.navigationBar.barTintColor = UIColor.white
  96. self.navigationItem.title = title
  97. self.navigationItem.rightBarButtonItem?.tintColor = UIColor(red:0.93, green:0.11, blue:0.14, alpha:1.0)
  98. self.navigationController?.navigationBar.backIndicatorImage = UIImage(named: "backIconBlack")
  99. self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "backIconBlack")
  100. self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor:UIColor.black]
  101. /// to handle back after redirection from push notification
  102. case 207 :
  103. self.navigationItem.leftBarButtonItem = UIBarButtonItem(title:" ", style:.plain, target:nil, action:nil)
  104. self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "backIconBlack"), style: .plain, target: self, action: #selector(UIViewController.goToHomeScreen))
  105. self.navigationItem.leftBarButtonItem?.tintColor = UIColor.black
  106. self.navigationController?.navigationBar.barTintColor = UIColor.white
  107. self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(UIViewController.goToHomeScreen))
  108. self.navigationItem.title = title
  109. self.navigationItem.rightBarButtonItem?.tintColor = UIColor(red:0.93, green:0.11, blue:0.14, alpha:1.0)
  110. self.navigationController?.navigationBar.backIndicatorImage = UIImage(named: "backIconBlack")
  111. self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "backIconBlack")
  112. self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor:UIColor.black]
  113. // push notification for no cancel bottom
  114. case 208:
  115. self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: " ", style:.plain, target:nil, action:nil)
  116. self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "backIconBlack"), style: .plain, target: self, action: #selector(UIViewController.goToHomeScreen))
  117. self.navigationItem.leftBarButtonItem?.tintColor = UIColor.black
  118. self.navigationController?.navigationBar.barTintColor = UIColor.white
  119. self.navigationItem.title = title
  120. self.navigationController?.navigationBar.backIndicatorImage = UIImage(named: "backIconBlack")
  121. self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "backIconBlack")
  122. self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor:UIColor.black]
  123. case 0:
  124. self.navigationController?.navigationBar.barTintColor = UIColor(hex: 0xec1c24)
  125. self.navigationController?.navigationBar.isTranslucent = false
  126. self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
  127. self.navigationController?.navigationBar.shadowImage = UIImage()
  128. //added for autop login cottection
  129. self.navigationItem.hidesBackButton = true
  130. /**
  131. used for recipient form
  132. while clicking cancel button redirect to back view
  133. */
  134. case 1:
  135. self.navigationItem.title = "Send Money"
  136. self.navigationController?.navigationBar.barTintColor = UIColor.white
  137. self.navigationItem.leftBarButtonItem = UIBarButtonItem(title:" ", style:.plain, target:nil, action:nil)
  138. self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "backIconBlack"), style: .plain, target: self, action: #selector(self.handleBack))
  139. self.navigationItem.leftBarButtonItem?.tintColor = UIColor.black
  140. self.navigationItem.rightBarButtonItem?.tintColor = UIColor(red:0.93, green:0.11, blue:0.14, alpha:1.0)
  141. self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(self.handleBack))
  142. self.navigationItem.rightBarButtonItem?.tintColor = UIColor(red:0.93, green:0.11, blue:0.14, alpha:1.0)
  143. self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor:UIColor.black]
  144. /**
  145. used for send Money
  146. while clicking back button redirect to home view during both fron tabbar and menu botton
  147. */
  148. case 2:
  149. self.navigationItem.leftBarButtonItem = UIBarButtonItem(title:" ", style:.plain, target:nil, action:nil)
  150. self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "backIconBlack"), style: .plain, target: self, action: #selector(self.goToHomeScreen))
  151. self.navigationItem.leftBarButtonItem?.tintColor = UIColor.black
  152. self.navigationController?.navigationBar.barTintColor = UIColor.white
  153. self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(UIViewController.goToHomeScreen))
  154. self.navigationItem.title = title
  155. self.navigationItem.rightBarButtonItem?.tintColor = UIColor(red:0.93, green:0.11, blue:0.14, alpha:1.0)
  156. self.navigationController?.navigationBar.backIndicatorImage = UIImage(named: "backIconBlack")
  157. self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "backIconBlack")
  158. self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor:UIColor.black]
  159. case 3:
  160. self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(UIViewController.goToHomeScreen))
  161. self.navigationItem.title = "Exchange Rate"
  162. self.navigationItem.rightBarButtonItem?.tintColor = UIColor(red:0.93, green:0.11, blue:0.14, alpha:1.0)
  163. case 4:
  164. self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(UIViewController.goToHomeScreen))
  165. self.navigationItem.title = "Wallet to Wallet Transfer"
  166. self.navigationItem.rightBarButtonItem?.tintColor = UIColor(red:0.93, green:0.11, blue:0.14, alpha:1.0)
  167. /*
  168. for social page navigation
  169. */
  170. case 5:
  171. self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "backIconBlack"), style: .plain, target: self, action: #selector(self.handleBack))
  172. self.navigationItem.leftBarButtonItem?.tintColor = UIColor.white
  173. self.navigationController?.navigationBar.backIndicatorImage = UIImage(named: "backIconBlack")
  174. self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "backIconBlack")
  175. self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor:UIColor.white]
  176. case 6:
  177. self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(UIViewController.goToHomeScreen))
  178. self.navigationItem.title = "Agent"
  179. self.navigationItem.rightBarButtonItem?.tintColor = UIColor(red:0.93, green:0.11, blue:0.14, alpha:1.0)
  180. case 200:
  181. let height: CGFloat = 516 //whatever height you want to add to the existing height
  182. let bounds = self.navigationController!.navigationBar.bounds
  183. self.navigationController?.navigationBar.frame = CGRect(x: 0, y: 0, width: bounds.width, height: bounds.height + height)
  184. //CASE 100 is for before KYC screen where back should not be enabled
  185. case 100:
  186. self.navigationItem.hidesBackButton = true
  187. let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 125, height: 30))
  188. imageView.contentMode = .scaleAspectFit
  189. let image = UIImage(named: "ic_gme_new")
  190. imageView.image = image
  191. self.navigationItem.titleView = imageView
  192. case 101:
  193. self.navigationItem.hidesBackButton = true
  194. self.navigationController?.navigationBar.isTranslucent = true
  195. //self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
  196. //self.navigationController?.navigationBar.shadowImage = UIImage()
  197. case 102:
  198. self.navigationItem.hidesBackButton = true
  199. self.navigationController?.navigationBar.isTranslucent = true
  200. self.navigationController?.navigationBar.setBackgroundImage(UIImage(named: "ic_rect"), for: .default)
  201. self.navigationController?.navigationBar.shadowImage = UIImage()
  202. self.navigationController?.navigationBar.barTintColor = UIColor(hex:0xed1c24)
  203. self.navigationController?.navigationBar.isTranslucent = false
  204. let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 150, height: 30))
  205. imageView.contentMode = .scaleAspectFit
  206. let image = UIImage(named: "ic_gme")
  207. imageView.image = image
  208. navigationItem.titleView = imageView
  209. case 103:
  210. self.navigationItem.hidesBackButton = true
  211. self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "backIconBlack"), style: .plain, target: self, action: #selector(self.handleBack))
  212. self.navigationItem.leftBarButtonItem?.tintColor = UIColor.white
  213. self.navigationController?.navigationBar.isTranslucent = true
  214. self.navigationController?.navigationBar.setBackgroundImage(UIImage(named: "ic_rect"), for: .default)
  215. self.navigationController?.navigationBar.barTintColor = UIColor(hex:0xec1c24)
  216. let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 150, height: 30))
  217. imageView.contentMode = .scaleAspectFit
  218. let image = UIImage(named: "ic_gme")
  219. imageView.image = image
  220. navigationItem.titleView = imageView
  221. case 104:
  222. self.navigationItem.hidesBackButton = true
  223. self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "backIconBlack"), style: .plain, target: self, action: #selector(self.handleBack))
  224. self.navigationItem.leftBarButtonItem?.tintColor = UIColor.white
  225. self.navigationController?.navigationBar.isTranslucent = true
  226. self.navigationController?.navigationBar.setBackgroundImage(UIImage(named: "ic_rect"), for: .default)
  227. self.navigationController?.navigationBar.barTintColor = UIColor(hex:0xec1c24)
  228. let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 150, height: 30))
  229. imageView.contentMode = .scaleAspectFit
  230. let image = UIImage(named: "ic_gme")
  231. imageView.image = image
  232. navigationItem.titleView = imageView
  233. case 105:
  234. self.navigationController?.navigationBar.setBackgroundImage(nil, for: .default)
  235. self.navigationController?.navigationBar.barTintColor = UIColor.white
  236. self.navigationController?.navigationBar.isTranslucent = false
  237. default:
  238. return
  239. }
  240. }
  241. @objc func goToHomeScreen() {
  242. showHomeScreen()
  243. }
  244. func showHomeScreen() {
  245. let storyboard = UIStoryboard.init(name: "Main", bundle: Bundle.main)
  246. if let tabViewController = storyboard.instantiateViewController(withIdentifier: "TabBarController") as? UITabBarController {
  247. self.navigationController!.pushViewController(tabViewController, animated: false)
  248. }
  249. }
  250. func showHomeScreen2() {
  251. let storyboard = UIStoryboard.init(name: "Main", bundle: Bundle.main)
  252. if let tabViewController = storyboard.instantiateViewController(withIdentifier: "TabBarController") as? UITabBarController {
  253. let destinationViewController = tabViewController.viewControllers![0] as! HomeViewController
  254. destinationViewController.numberCellsInCollectionView = 6
  255. destinationViewController.showAllCollectionViewCells = true
  256. destinationViewController.hidesBottomBarWhenPushed = false
  257. // self.navigationController!.pushViewController(destinationViewController, animated: false)
  258. self.navigationController!.pushViewController(tabViewController, animated: false)
  259. }
  260. }
  261. func enableUserInteractions() {
  262. self.view.isUserInteractionEnabled = true
  263. self.navigationController?.navigationBar.isUserInteractionEnabled = true
  264. self.navigationController?.view.isUserInteractionEnabled = true
  265. }
  266. func disableUserInteractions() {
  267. self.view.isUserInteractionEnabled = false
  268. self.navigationController?.navigationBar.isUserInteractionEnabled = false
  269. self.navigationController?.view.isUserInteractionEnabled = false
  270. }
  271. func unixTimeStampToDate(unixTimeStamp: String) -> String {
  272. let date = Date(timeIntervalSince1970: TimeInterval(unixTimeStamp)!)
  273. let dateFormatter = DateFormatter()
  274. dateFormatter.timeZone = TimeZone(abbreviation: "GMT") //Set timezone that you want
  275. dateFormatter.locale = NSLocale.current
  276. dateFormatter.dateFormat = "dd/MM/yyyy" //Specify your format that you want
  277. return dateFormatter.string(from: date)
  278. }
  279. func firstWord(text: String) -> String{
  280. let word = text
  281. var firstWord = ""
  282. if let index = word.range(of: " ")?.lowerBound {
  283. let substring = word[..<index]
  284. firstWord = String(substring)
  285. }
  286. return firstWord
  287. }
  288. /// no internet connection and popup message
  289. func popUpMessage(value: Int){
  290. guard let navController = self.navigationController else { return }
  291. let popUpViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "popUpInfo") as! PopUpGeneralInfo
  292. popUpViewController.indexValue = value
  293. navController.addChildViewController(popUpViewController)
  294. popUpViewController.view.frame = navController.view.bounds
  295. navController.view.addSubview(popUpViewController.view)
  296. popUpViewController.didMove(toParentViewController: navController)
  297. }
  298. /// for error and validation error message
  299. func popUpMessageError(value: Int, message: String){
  300. guard let navController = self.navigationController else { return }
  301. let popUpViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "popUpInfo") as! PopUpGeneralInfo
  302. popUpViewController.indexValue = value
  303. popUpViewController.message = message
  304. navController.addChildViewController(popUpViewController)
  305. popUpViewController.view.frame = navController.view.bounds
  306. navController.view.addSubview(popUpViewController.view)
  307. popUpViewController.didMove(toParentViewController: navController)
  308. }
  309. func popUpMessageInfo(value: Int, title: String, message: String){
  310. guard let navController = self.navigationController else { return }
  311. let popUpViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "popUpInfo") as! PopUpGeneralInfo
  312. popUpViewController.indexValue = value
  313. popUpViewController.message = message
  314. popUpViewController.titleInfo = title
  315. navController.addChildViewController(popUpViewController)
  316. popUpViewController.view.frame = navController.view.bounds
  317. navController.view.addSubview(popUpViewController.view)
  318. popUpViewController.didMove(toParentViewController: navController)
  319. }
  320. func getUserName() -> String {
  321. if let userId = UserDefaults.standard.object(forKey: "com.gmeremit.username") as? String {
  322. return userId
  323. }
  324. return ""
  325. }
  326. // func getFullName() -> String {
  327. // if let fullName = UserDefaults.standard.object(forKey: "com.gmeremit.fullName") as? String {
  328. // return fullName
  329. // }
  330. // return ""
  331. // }
  332. // func getNickNameOrFirstName() -> String {
  333. // let nickName = UserDefaults.standard.object(forKey: "com.gmeremit.nickName") as! String
  334. // if nickName != "" {
  335. // return nickName
  336. // }
  337. // let fullName = UserDefaults.standard.object(forKey: "com.gmeremit.fullName") as! String
  338. // return fullName.components(separatedBy: " ").first!
  339. // }
  340. func getFirstName() -> String {
  341. let fullName = UserDefaults.standard.object(forKey: "com.gmeremit.fullName") as! String
  342. return fullName.components(separatedBy: " ").first!
  343. }
  344. func getFullName() -> String {
  345. if let fullName = UserDefaults.standard.object(forKey: "com.gmeremit.fullName") as? String {
  346. return fullName
  347. }
  348. return ""
  349. }
  350. func isVerified() -> Bool {
  351. if let verified = UserDefaults.standard.object(forKey: "com.gmeremit.isVerified") as? Bool {
  352. return verified
  353. }
  354. return false
  355. }
  356. func isKYCSubmitted() -> Bool {
  357. if let verified = UserDefaults.standard.object(forKey: "com.gmeremit.isKYCSubmitted") as? Bool {
  358. return verified
  359. }
  360. return false
  361. }
  362. // func setupKeyboardNotification() {
  363. // NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow), name: NSNotification.Name.UIKeyboardWillShow, object: nil)
  364. // NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide), name: NSNotification.Name.UIKeyboardWillHide, object: nil)
  365. // }
  366. //
  367. // @objc func keyboardWillShow(notification: NSNotification) {
  368. // if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
  369. // if self.view.frame.origin.y == 0{
  370. // self.view.frame.origin.y -= keyboardSize.height
  371. // }
  372. // }
  373. // }
  374. // @objc func keyboardWillShow(notification: NSNotification) {
  375. // //self.scrollView.isScrollEnabled = true
  376. // var info = notification.userInfo!
  377. // let keyboardSize = (info[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue.size
  378. // let contentInsets : UIEdgeInsets = UIEdgeInsetsMake(0.0, 0.0, keyboardSize!.height, 0.0)
  379. //
  380. // self.scrollView.contentInset = contentInsets
  381. // self.scrollView.scrollIndicatorInsets = contentInsets
  382. //
  383. // var aRect : CGRect = self.view.frame
  384. // aRect.size.height -= keyboardSize!.height
  385. // if let activeField = self.activeField {
  386. // if (!aRect.contains(activeField.frame.origin)){
  387. // self.scrollView.scrollRectToVisible(activeField.frame, animated: true)
  388. // }
  389. // }
  390. // }
  391. //
  392. // @objc func keyboardWillHide(notification: NSNotification) {
  393. // if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
  394. // if self.view.frame.origin.y != 0{
  395. // self.view.frame.origin.y += keyboardSize.height
  396. // }
  397. // }
  398. // }
  399. @objc func handleBack(){
  400. self.navigationController?.popViewController(animated: true)
  401. }
  402. func getCommaAddedAmountString(amountString: String) -> String {
  403. let separatorString = " "
  404. let numberFormatter = NumberFormatter()
  405. numberFormatter.numberStyle = NumberFormatter.Style.decimal
  406. if amountString.contains(separatorString) {
  407. let splittedArray = amountString.split(separator: " ")
  408. let number = Double(splittedArray[0])!
  409. let formattedNumber = numberFormatter.string(from: NSNumber(value:number))
  410. return formattedNumber! + " " + splittedArray[1]
  411. } else {
  412. let formattedNumber = numberFormatter.string(from: NSNumber(value: Double(amountString)!))
  413. return formattedNumber!
  414. }
  415. }
  416. func setUpAnotherLoginListener(genericviewmodel: ModelExtension) {
  417. genericviewmodel.anotherLogin.bind { [weak self] in
  418. guard let context = self else {
  419. return
  420. }
  421. guard $0 != nil else {
  422. return
  423. }
  424. if $0! {
  425. context.view.endEditing(true)
  426. context.enableUserInteractions()
  427. context.logOutUser()
  428. }
  429. }
  430. }
  431. func logOutUser() {
  432. UserDefaults.standard.removePersistentDomain(forName: Bundle.main.bundleIdentifier!)
  433. UserDefaults.standard.synchronize()
  434. let appDelegate = UIApplication.shared.delegate as! AppDelegate
  435. appDelegate.firstTranscationStatusForHome = true
  436. appDelegate.firstTranscationStatusForProfileForm = true
  437. UserDefaults.standard.set(false, forKey: "com.gmeremit.loginStatus")
  438. UserDefaults.standard.removeObject(forKey: "com.gmeremit.dpUrl")
  439. UserDefaults.standard.removeObject(forKey: "com.gmeremit.walletNumber")
  440. UserDefaults.standard.removeObject(forKey: "com.gmeremit.bankName")
  441. UserDefaults.standard.removeObject(forKey: "com.gmeremit.fullName")
  442. // UserDefaults.standard.removeObject(forKey: "com.gmeremit.accessCode")
  443. UserDefaults.standard.removeObject(forKey: "com.gmeremit.username")
  444. UserDefaults.standard.removeObject(forKey: "com.gmeremit.nickName")
  445. UserDefaults.standard.removeObject(forKey: "com.gmeremit.balance")
  446. UserDefaults.standard.removeObject(forKey: "com.gmeremit.rewardPoint")
  447. UserDefaults.standard.removeObject(forKey: "com.gmeremit.isVerified")
  448. UserDefaults.standard.removeObject(forKey: "com.gmeremit.isKYCSubmitted")
  449. UserDefaults.standard.removeObject(forKey: "com.gmeremit.email")
  450. UserDefaults.standard.removeObject(forKey: "com.gmeremit.mobileNumber")
  451. UserDefaults.standard.removeObject(forKey: "com.gmeremit.password")
  452. UserDefaults.standard.removeObject(forKey: " com.gmeremit.isReferred")
  453. let storyboard = UIStoryboard.init(name: "Main", bundle: Bundle.main)
  454. let vController = storyboard.instantiateViewController(withIdentifier: "SplashScreenViewController") as! SplashScreenViewController
  455. self.navigationController?.navigationBar.isHidden = false
  456. self.navigationController!.pushViewController(vController, animated: false)
  457. }
  458. }