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.

121 lines
4.0 KiB

6 years ago
  1. //
  2. // ForgetPasswordDOBViewController.swift
  3. // GMERemittance
  4. //
  5. // Created by Sujal on 1/9/18.
  6. // Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved.
  7. //
  8. import UIKit
  9. class ForgetPasswordDOBViewController: UIViewController {
  10. @IBOutlet weak var textFieldDOB: UITextField!
  11. private var activityIndicator: UIActivityIndicatorView = UIActivityIndicatorView()
  12. private var forgetpasswordviewmodel = ForgetPasswordViewModel()
  13. var userId: String!
  14. let datePicker = UIDatePicker()
  15. override func viewDidLoad() {
  16. super.viewDidLoad()
  17. setUpNavBar(id: 100, title: "")
  18. self.hideKeyboardWhenTappedAround()
  19. datePicker.datePickerMode = .date
  20. textFieldDOB.inputView = datePicker
  21. datePicker.addTarget(self, action: #selector(handleDatePicker(sender:)), for: .valueChanged)
  22. forgetpasswordviewmodel.forgetPasswordConnectionTimeOut.value = nil
  23. /**
  24. connection timeout
  25. */
  26. forgetpasswordviewmodel.forgetPasswordConnectionTimeOut.bind { [unowned self] in
  27. guard $0 != nil else {
  28. return
  29. }
  30. self.enableUserInteractions()
  31. self.dismissActivityIndicator(activityIndicator: self.activityIndicator)
  32. self.popUpMessage(value: 20)
  33. }
  34. forgetpasswordviewmodel.internetConnection.value = nil
  35. /**
  36. Internet Check
  37. */
  38. forgetpasswordviewmodel.internetConnection.bind { [unowned self] in
  39. guard $0 != nil else {
  40. return
  41. }
  42. self.enableUserInteractions()
  43. self.dismissActivityIndicator(activityIndicator: self.activityIndicator)
  44. self.popUpMessage(value: 15)
  45. }
  46. /**
  47. Update the request for password forget
  48. */
  49. forgetpasswordviewmodel.requestAcknowledged.bind { [unowned self] in
  50. guard $0 != nil else {
  51. return
  52. }
  53. self.dismissActivityIndicator(activityIndicator: self.activityIndicator)
  54. self.enableUserInteractions()
  55. guard $0! else {
  56. self.popUpMessageError(value: 10, message: self.forgetpasswordviewmodel.getErrorMessage())
  57. return
  58. }
  59. self.performSegue(withIdentifier: "enterRecoveryCode", sender: nil)
  60. }
  61. }
  62. @objc func handleDatePicker(sender: UIDatePicker) {
  63. let dateFormatter = DateFormatter()
  64. dateFormatter.dateFormat = "dd MMM yyyy"
  65. textFieldDOB.text = dateFormatter.string(from: sender.date)
  66. }
  67. @IBAction func gotoLogin(_ sender: Any) {
  68. let storyboard = UIStoryboard.init(name: "Main", bundle: Bundle.main)
  69. let vController = storyboard.instantiateViewController(withIdentifier: "loginViewController") as! LoginViewController
  70. self.navigationController!.pushViewController(vController, animated: true)
  71. }
  72. @IBAction func submitSecretQuestionAns(_ sender: Any) {
  73. if (textFieldDOB.text?.isBlank)! {
  74. self.popUpMessageError(value: 11, message: "Please enter your date of birth")
  75. } else {
  76. disableUserInteractions()
  77. showActivityIndicator(activityIndicator: activityIndicator)
  78. forgetpasswordviewmodel.setUserId(userId: self.userId)
  79. if textFieldDOB.text! != ""{
  80. forgetpasswordviewmodel.setUserDOB(userDOB: textFieldDOB.text!)
  81. }
  82. forgetpasswordviewmodel.submitDOB()
  83. }
  84. }
  85. override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
  86. if segue.identifier == "enterRecoveryCode" {
  87. let fillcodeViewController = segue.destination as! FillSignUpCodeController
  88. fillcodeViewController.deviceORpassword = 2
  89. }
  90. }
  91. override func didReceiveMemoryWarning() {
  92. super.didReceiveMemoryWarning()
  93. }
  94. }