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.

133 lines
4.9 KiB

6 years ago
6 years ago
6 years ago
6 years ago
  1. //
  2. // AppConstants.swift
  3. // GMERemittance
  4. //
  5. // Created by gme_2 on 10/09/2018.
  6. // Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved.
  7. //
  8. import Foundation
  9. class AppConstants {
  10. static let uuid = "uuid"
  11. static let dateFormat = "yyyy-MM-dd"
  12. static let humanReadableDateFormat = "MMM d, yyyy"
  13. static let errorBorderWidth: CGFloat = 0.1
  14. static let themeRedColor = UIColor.init(hex: "#da3832")
  15. static let themeBlueColor = UIColor.init(hex: "#010538")
  16. static let themWhiteColor = UIColor.init(hex: "#ffffff")
  17. static let emergencyLogoutErrorCode = -1111
  18. static let maxKoreanMobileNoLength = 11
  19. static let MainWireFrameNotificationName = "MainViewControllerSelect"
  20. }
  21. enum Devices {
  22. case iphone5
  23. case iphone678
  24. case iphone678Plus
  25. case iphoneX
  26. case ipad
  27. case other
  28. }
  29. class Utility {
  30. static func getDeviceModel() -> Devices {
  31. if UIDevice().userInterfaceIdiom == .phone {
  32. switch UIScreen.main.nativeBounds.height {
  33. case 1136:
  34. return .iphone5
  35. case 1334:
  36. return .iphone678
  37. case 2208:
  38. return .iphone678Plus
  39. case 2436:
  40. return .iphoneX
  41. default:
  42. return .other
  43. }
  44. }else {
  45. return .ipad
  46. }
  47. }
  48. static func isVerifiedUser() -> Bool {
  49. let val = (UserDefaults.standard.object(forKey: UserKeys.verified) as? Bool ) ?? false
  50. return val
  51. }
  52. static func didSubmitKyc() -> Bool {
  53. let val = (UserDefaults.standard.object(forKey: UserKeys.kyc) as? Bool ) ?? false
  54. return val
  55. }
  56. static func getMyUserName() -> String {
  57. let defaults = UserDefaults.standard
  58. let myUsername = defaults.string(forKey: UserKeys.userId) ?? ""
  59. return myUsername
  60. }
  61. static func isValidEmail(email: String) -> Bool {
  62. let emailRegex = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}"
  63. let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegex)
  64. return emailTest.evaluate(with: email)
  65. }
  66. static func getCommaSeperatedString(numberString: String) -> String? {
  67. let text = numberString.filter({ $0 != "," })
  68. if let number = Double(text) {
  69. let nsNumber = NSNumber.init(value: number)
  70. let currencyFormatter = NumberFormatter()
  71. currencyFormatter.usesGroupingSeparator = true
  72. currencyFormatter.numberStyle = .decimal
  73. currencyFormatter.locale = Locale.current
  74. let commaSeperatedNumberString = currencyFormatter.string(for: nsNumber)
  75. return commaSeperatedNumberString
  76. }
  77. return nil
  78. }
  79. static func save(user: User?, accessCodeBase64: String? = nil, password: String? = nil) {
  80. func save(value: Any?, forKey: String) {
  81. let defaults = UserDefaults.standard
  82. defaults.set(value, forKey: forKey)
  83. }
  84. save(value: user?.dpUrl ?? "", forKey: UserKeys.dpUrl)
  85. save(value: user?.walletNumber ?? "", forKey: UserKeys.walletNumber)
  86. save(value: user?.primaryBankName ?? "", forKey: UserKeys.primaryBankName)
  87. let firstName = user?.firstName ?? ""
  88. let middleName = user?.lastName ?? ""
  89. let lastName = user?.lastName ?? ""
  90. let fullName = firstName + " " + middleName + " " + lastName
  91. save(value: fullName, forKey: UserKeys.fullName)
  92. save(value: firstName, forKey: UserKeys.firstName)
  93. save(value: lastName, forKey: UserKeys.lastName)
  94. save(value: accessCodeBase64, forKey: UserKeys.accessCode)
  95. save(value: user?.userId ?? "", forKey: UserKeys.userId)
  96. save(value: user?.nickName ?? "", forKey: UserKeys.nickName)
  97. save(value: user?.availableBalance ?? "", forKey: UserKeys.availableBalance)
  98. save(value: user?.rewardPoint ?? "", forKey: UserKeys.rewardPoint)
  99. save(value: user?.verified ?? false, forKey: UserKeys.verified)
  100. save(value: user?.kyc ?? "", forKey: UserKeys.kyc)
  101. save(value: true, forKey: "com.gmeremit.loginStatus")
  102. save(value: user?.email ?? "", forKey: UserKeys.email)
  103. save(value: user?.mobileNumber ?? "", forKey: UserKeys.mobileNumber)
  104. save(value: user?.sourceId ?? "", forKey: UserKeys.sourceId)
  105. save(value: password, forKey: "com.gmeremit.password")
  106. save(value: user?.isReferred ?? "", forKey: UserKeys.isReferred)
  107. save(value: user?.idType ?? "", forKey: UserKeys.idType)
  108. save(value: user?.idNumber ?? "", forKey: UserKeys.idNumber)
  109. save(value: user?.country ?? "" , forKey: UserKeys.country)
  110. save(value: user?.countryCode, forKey: UserKeys.countryCode)
  111. save(value: user?.senderId, forKey: UserKeys.senderId)
  112. save(value: user?.yearlyLimit, forKey: UserKeys.yearlyLimit)
  113. }
  114. }