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.

209 lines
8.2 KiB

6 years ago
6 years ago
6 years ago
  1. //
  2. // SideMenuViewController.swift
  3. // GMERemittance
  4. //
  5. // Created by Sujal on 2/22/18.
  6. // Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved.
  7. //
  8. import UIKit
  9. import SDWebImage
  10. class SideMenuViewController: UIViewController {
  11. @IBOutlet weak var imageViewProfileSetting: UIImageView!
  12. @IBOutlet weak var labelProfileName: UILabel!
  13. @IBOutlet weak var labelPhone: UILabel!
  14. @IBOutlet weak var labelEmail: UILabel!
  15. @IBOutlet weak var labelBalance: UILabel!
  16. @IBOutlet weak var labelWalletNumber: UILabel!
  17. @IBOutlet weak var labelBank: UILabel!
  18. @IBOutlet weak var labelAbout: UILabel!
  19. @IBOutlet weak var labelSupport: UILabel!
  20. @IBOutlet weak var labelSetting: UILabel!
  21. @IBOutlet weak var labelLogOut: UILabel!
  22. @IBOutlet weak var labelUserNameInitial: UILabel!
  23. // var profileviewmodel = ProfileViewModel()
  24. private var activityIndicator: UIActivityIndicatorView = UIActivityIndicatorView()
  25. override func viewWillAppear(_ animated: Bool) {
  26. setUpNavBar(id: 99, title: "")
  27. }
  28. override func viewDidAppear(_ animated: Bool) {
  29. setUpNavBar(id: 99, title: "")
  30. }
  31. override func viewDidLoad() {
  32. super.viewDidLoad()
  33. setUpNavBar(id: 99, title: "")
  34. setUpSettingsScreen()
  35. }
  36. @IBAction func withDraw(_ sender: Any) {
  37. let storyboard = UIStoryboard.init(name: "Profile", bundle: Bundle.main)
  38. if let withDrawViewController = storyboard.instantiateViewController(withIdentifier: "withdraw") as? WithdrawViewController {
  39. self.navigationController!.pushViewController(withDrawViewController, animated: true)
  40. }
  41. }
  42. @IBAction func logout(_ sender: Any) {
  43. let alert = UIAlertController(title: "Logout?", message: "Are you sure you want to logout?", preferredStyle: .alert)
  44. let yesAction = UIAlertAction(title: "Yes", style: .default,handler: {
  45. (action : UIAlertAction!) -> Void in
  46. RestApiMananger.sharedInstance.cancelExistingNetworkCalls()
  47. UserDefaults.standard.removePersistentDomain(forName: Bundle.main.bundleIdentifier!)
  48. UserDefaults.standard.synchronize()
  49. let appDelegate = UIApplication.shared.delegate as! AppDelegate
  50. appDelegate.firstTranscationStatusForHome = true
  51. appDelegate.firstTranscationStatusForProfileForm = true
  52. UserDefaults.standard.set(false, forKey: "com.gmeremit.loginStatus")
  53. UserDefaults.standard.removeObject(forKey: "com.gmeremit.dpUrl")
  54. UserDefaults.standard.removeObject(forKey: "com.gmeremit.walletNumber")
  55. UserDefaults.standard.removeObject(forKey: "com.gmeremit.bankName")
  56. UserDefaults.standard.removeObject(forKey: "com.gmeremit.fullName")
  57. UserDefaults.standard.removeObject(forKey: "com.gmeremit.username")
  58. UserDefaults.standard.removeObject(forKey: "com.gmeremit.nickName")
  59. UserDefaults.standard.removeObject(forKey: "com.gmeremit.balance")
  60. UserDefaults.standard.removeObject(forKey: "com.gmeremit.rewardPoint")
  61. UserDefaults.standard.removeObject(forKey: "com.gmeremit.isVerified")
  62. UserDefaults.standard.removeObject(forKey: "com.gmeremit.isKYCSubmitted")
  63. UserDefaults.standard.removeObject(forKey: "com.gmeremit.email")
  64. UserDefaults.standard.removeObject(forKey: "com.gmeremit.mobileNumber")
  65. UserDefaults.standard.removeObject(forKey: "com.gmeremit.password")
  66. UserDefaults.standard.removeObject(forKey: " com.gmeremit.isReferred")
  67. UserDefaults.standard.setValue(nil, forKey: UserKeys.accessCode)
  68. MainWireframe.logout()
  69. })
  70. let noAction = UIAlertAction(title: "No", style: .default, handler: nil)
  71. noAction.setValue(UIColor.black, forKey: "titleTextColor")
  72. yesAction.setValue(UIColor(hex:0xEC1C24), forKey: "titleTextColor")
  73. alert.addAction(noAction)
  74. alert.addAction(yesAction)
  75. self.present(alert, animated: true, completion: nil)
  76. }
  77. override func didReceiveMemoryWarning() {
  78. super.didReceiveMemoryWarning()
  79. // Dispose of any resources that can be recreated.
  80. }
  81. func setUpSettingsScreen() {
  82. //PHONE
  83. labelPhone.text = UserDefaults.standard.object(forKey: "com.gmeremit.mobileNumber") as? String
  84. //EMAIL
  85. labelEmail.text = UserDefaults.standard.object(forKey: "com.gmeremit.email") as? String
  86. //NAME
  87. labelProfileName.text = UserDefaults.standard.object(forKey: "com.gmeremit.fullName") as? String
  88. //WALLET NUMBER
  89. let walletNumber = UserDefaults.standard.object(forKey: "com.gmeremit.walletNumber") as? String
  90. if walletNumber != "" && walletNumber != nil {
  91. labelWalletNumber.text = walletNumber!
  92. }
  93. //BALANCE
  94. let balance = UserDefaults.standard.object(forKey: "com.gmeremit.balance") as? String
  95. if balance != "N/A" && balance != nil && balance != "" {
  96. labelBalance.text = getCommaAddedAmountString(amountString: balance!)
  97. } else {
  98. labelBalance.text = "N/A"
  99. }
  100. //BANK NAME
  101. if let bankName = UserDefaults.standard.object(forKey: "com.gmeremit.bankName") as? String {
  102. labelBank.text = "(" + bankName + ")"
  103. }
  104. //IMAGE
  105. let userDpString = UserDefaults.standard.object(forKey: "com.gmeremit.dpUrl") as? String
  106. if let userDpUrl = URL(string: userDpString!) {
  107. SDImageCache.shared().clearMemory()
  108. SDImageCache.shared().clearDisk()
  109. self.imageViewProfileSetting.sd_setImage(with: userDpUrl, completed: nil)
  110. labelUserNameInitial.isHidden = true
  111. imageViewProfileSetting.isHidden = false
  112. imageViewProfileSetting.contentMode = .scaleAspectFill
  113. } else {
  114. labelUserNameInitial.layer.backgroundColor = UIColor(hex: 0x2e3192).cgColor
  115. labelUserNameInitial.layer.cornerRadius = labelUserNameInitial.frame.height / 2
  116. labelUserNameInitial.text = labelProfileName.text?.prefix(1).uppercased()
  117. labelUserNameInitial.isHidden = false
  118. imageViewProfileSetting.isHidden = true
  119. }
  120. imageViewProfileSetting.layer.cornerRadius = imageViewProfileSetting.frame.height / 2
  121. }
  122. // func setUpSettingsScreen() {
  123. //
  124. // //PHONE
  125. // labelPhone.text = self.profileviewmodel.getProfileModel().mobileNumber
  126. //
  127. // //EMAIL
  128. // if self.profileviewmodel.getProfileModel().email != nil {
  129. // labelEmail.text = self.profileviewmodel.getProfileModel().email
  130. // }
  131. //
  132. // //NAME
  133. // if self.profileviewmodel.getProfileModel().middleName != nil {
  134. // labelProfileName.text = self.profileviewmodel.getProfileModel().firstName + " " +
  135. // self.profileviewmodel.getProfileModel().middleName! + " " +
  136. // self.profileviewmodel.getProfileModel().lastName
  137. // } else {
  138. // labelProfileName.text = self.profileviewmodel.getProfileModel().firstName + " " +
  139. // self.profileviewmodel.getProfileModel().lastName
  140. // }
  141. //
  142. //// labelProfileName.text = getFullName()
  143. //
  144. // //WALLET NUMBER
  145. // if self.profileviewmodel.getProfileModel().walletNumber != nil {
  146. // labelWalletNumber.text = self.profileviewmodel.getProfileModel().walletNumber
  147. // }
  148. //
  149. // //BALANCE
  150. // if self.profileviewmodel.getProfileModel().availableBalance != nil {
  151. // labelBalance.text = self.profileviewmodel.getProfileModel().availableBalance
  152. // }
  153. //
  154. // //BANK NAME
  155. // if self.profileviewmodel.getProfileModel().primaryBankName != nil {
  156. // labelBank.text = "(" + self.profileviewmodel.getProfileModel().primaryBankName + ")"
  157. // }
  158. //
  159. // //IMAGE
  160. // imageViewProfileSetting.layer.cornerRadius = imageViewProfileSetting.frame.height / 2
  161. // }
  162. }