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.
 
 
 
 

162 lines
5.7 KiB

//
// AppConstants.swift
// GMERemittance
//
// Created by gme_2 on 10/09/2018.
// Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved.
//
import Foundation
class AppConstants {
static let uuid = "uuid"
static let dateFormat = "yyyy-MM-dd"
static let humanReadableDateFormat = "MMM d, yyyy"
static let errorBorderWidth: CGFloat = 0.1
static let themeRedColor = UIColor.init(hex: "#ed1b24")
static let themeDarkRedColor = UIColor.init(hex: "#be0007")
static let themeBlueColor = UIColor.init(hex: "#303e9f") // 2D368F
static let themWhiteColor = UIColor.init(hex: "#ffffff")
static let emergencyLogoutErrorCode = -1111
static let maxKoreanMobileNoLength = 11
static let MainWireFrameNotificationName = "MainViewControllerSelect"
}
enum Devices {
case iphone5
case iphone678
case iphone678Plus
case iphoneX
case ipad
case other
}
class Utility {
static func getDeviceModel() -> Devices {
if UIDevice().userInterfaceIdiom == .phone {
switch UIScreen.main.nativeBounds.height {
case 1136:
return .iphone5
case 1334:
return .iphone678
case 2208:
return .iphone678Plus
case 2436:
return .iphoneX
default:
return .other
}
}else {
return .ipad
}
}
static func isVerifiedUser() -> Bool {
let val = (UserDefaults.standard.object(forKey: UserKeys.verified) as? Bool ) ?? false
return val
}
static func didSubmitKyc() -> Bool {
let val = (UserDefaults.standard.object(forKey: UserKeys.kyc) as? Bool ) ?? false
return val
}
static func getMyUserName() -> String {
let defaults = UserDefaults.standard
let myUsername = defaults.string(forKey: UserKeys.userId) ?? ""
return myUsername
}
static func isValidEmail(email: String) -> Bool {
let emailRegex = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}"
let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegex)
return emailTest.evaluate(with: email)
}
static func getCommaSeperatedString(numberString: String) -> String? {
let text = numberString.filter({ $0 != "," })
if let number = Double(text) {
let nsNumber = NSNumber.init(value: number)
let currencyFormatter = NumberFormatter()
currencyFormatter.numberStyle = .decimal
let commaSeperatedNumberString = currencyFormatter.string(for: nsNumber)
let text = commaSeperatedNumberString?.replacingOccurrences(of: ".", with: ",")
return text
}
return nil
}
static func save(user: User?, accessCodeBase64: String? = nil, password: String? = nil, login: Bool? = false) {
func save(value: Any?, forKey: String) {
let defaults = UserDefaults.standard
defaults.set(value, forKey: forKey)
}
save(value: user?.dpUrl ?? "", forKey: UserKeys.dpUrl)
save(value: user?.walletNumber ?? "", forKey: UserKeys.walletNumber)
save(value: user?.primaryBankName ?? "", forKey: UserKeys.primaryBankName)
let firstName = user?.firstName ?? ""
let middleName = user?.lastName ?? ""
let lastName = user?.lastName ?? ""
let fullName = firstName + " " + middleName + " " + lastName
save(value: fullName, forKey: UserKeys.fullName)
save(value: firstName, forKey: UserKeys.firstName)
save(value: lastName, forKey: UserKeys.lastName)
if login ?? false {
save(value: accessCodeBase64, forKey: UserKeys.accessCode)
}
save(value: user?.userId ?? "", forKey: UserKeys.userId)
save(value: user?.nickName ?? "", forKey: UserKeys.nickName)
save(value: user?.availableBalance ?? "", forKey: UserKeys.availableBalance)
save(value: user?.rewardPoint ?? "", forKey: UserKeys.rewardPoint)
save(value: user?.verified ?? false, forKey: UserKeys.verified)
save(value: user?.kyc ?? "", forKey: UserKeys.kyc)
save(value: user?.email ?? "", forKey: UserKeys.email)
save(value: user?.mobileNumber ?? "", forKey: UserKeys.mobileNumber)
save(value: user?.sourceId ?? "", forKey: UserKeys.sourceId)
save(value: password, forKey: "com.gmeremit.password")
save(value: user?.isReferred ?? "", forKey: UserKeys.isReferred)
save(value: user?.idType ?? "", forKey: UserKeys.idType)
save(value: user?.idNumber ?? "", forKey: UserKeys.idNumber)
save(value: user?.country ?? "" , forKey: UserKeys.country)
save(value: user?.countryCode, forKey: UserKeys.countryCode)
save(value: user?.senderId, forKey: UserKeys.senderId)
save(value: user?.yearlyLimit, forKey: UserKeys.yearlyLimit)
save(value: user?.dateOfBirth, forKey: UserKeys.dateOfBirth)
}
static func getAppVersion () -> String? {
let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String
return version
}
static func getOsVersion() -> String {
let version = UIDevice.current.systemVersion
return version
}
static func getPhoneBrand() -> String {
let phoneName = UIDevice.current.model
return phoneName
}
static func getPhoneOs() -> String {
let os = UIDevice.current.systemName
return os
}
static func getUUid() -> String? {
let uuid = UIDevice.current.identifierForVendor?.uuidString
return uuid
}
static func getCliendId() -> String {
return "172017F9EC11222E8107142733"
}
}