diff --git a/GMERemittance/Model/User.swift b/GMERemittance/Model/User.swift index dfc7a444..68f23a13 100644 --- a/GMERemittance/Model/User.swift +++ b/GMERemittance/Model/User.swift @@ -9,11 +9,11 @@ import Foundation import ObjectMapper -protocol Login: ApiServiceType { +protocol LoginApiService: ApiServiceType { func _login(userId: String, password: String ,success: @escaping (User?) -> (), failure: @escaping (Error) -> ()) } -extension Login { +extension LoginApiService { func _login(userId: String, password: String, success: @escaping (User?) -> (), failure: @escaping (Error) -> ()) { let params = [ "userId": userId, "password": password ] let url = baseUrl + "users/access-code" diff --git a/GMERemittance/Module/Home/User Interface/View/HomeViewController.swift b/GMERemittance/Module/Home/User Interface/View/HomeViewController.swift index 1033f56a..d26431f0 100644 --- a/GMERemittance/Module/Home/User Interface/View/HomeViewController.swift +++ b/GMERemittance/Module/Home/User Interface/View/HomeViewController.swift @@ -31,6 +31,7 @@ class HomeViewController: UIViewController, UICollectionViewDelegateFlowLayout { var user: User? { didSet { // update + self.save(user: user) } } var sections: [Sections] = [.balance, .collection] @@ -408,3 +409,41 @@ extension HomeViewController { return Notification.Name.init(rawValue: MenuNotificationName.collectionHeight) } } + + +extension HomeViewController { + + private func save(value: Any?, forKey: String) { + let defaults = UserDefaults.standard + defaults.set(value, forKey: forKey) + + } + + + func save(user: User?) { + self.save(value: user?.dpUrl ?? "", forKey: UserKeys.dpUrl) + self.save(value: user?.walletNumber ?? "", forKey: UserKeys.walletNumber) + self.save(value: user?.primaryBankName ?? "", forKey: UserKeys.primaryBankName) + + let firstName = user?.firstName ?? "" + let middleName = user?.lastName ?? "" + let lastName = user?.lastName ?? "" + let fullName = firstName + " " + middleName + " " + lastName + self.save(value: fullName, forKey: UserKeys.fullName) + self.save(value: user?.userId ?? "", forKey: UserKeys.userId) + self.save(value: user?.nickName ?? "", forKey: UserKeys.nickName) + self.save(value: user?.availableBalance ?? "", forKey: UserKeys.availableBalance) + self.save(value: user?.rewardPoint ?? "", forKey: UserKeys.rewardPoint) + self.save(value: user?.verified ?? false, forKey: UserKeys.verified) + self.save(value: user?.kyc ?? "", forKey: UserKeys.kyc) + self.save(value: user?.email ?? "", forKey: UserKeys.email) + self.save(value: user?.mobileNumber ?? "", forKey: UserKeys.mobileNumber) + self.save(value: user?.sourceId ?? "", forKey: UserKeys.sourceId) + self.save(value: user?.isReferred ?? "", forKey: UserKeys.isReferred) + self.save(value: user?.idType ?? "", forKey: UserKeys.idType) + self.save(value: user?.idNumber ?? "", forKey: UserKeys.idNumber) + self.save(value: user?.country ?? "" , forKey: UserKeys.country) + self.save(value: user?.countryCode, forKey: UserKeys.countryCode) + self.save(value: user?.senderId, forKey: UserKeys.senderId) + } +} diff --git a/GMERemittance/Module/Login/Application Logic/Interactor/LoginInteractor.swift b/GMERemittance/Module/Login/Application Logic/Interactor/LoginInteractor.swift index ff31f9f2..63134c3f 100644 --- a/GMERemittance/Module/Login/Application Logic/Interactor/LoginInteractor.swift +++ b/GMERemittance/Module/Login/Application Logic/Interactor/LoginInteractor.swift @@ -74,6 +74,7 @@ extension LoginInteractor: LoginInteractorInput { let accessCode = user?.accessCode ?? "" let uuid = RestApiMananger.sharedInstance.getUUID() let accessCodeBase64 = accessCode + ":" + uuid.toBase64() + self.save(value: user?.dpUrl ?? "", forKey: UserKeys.dpUrl) self.save(value: user?.walletNumber ?? "", forKey: UserKeys.walletNumber) self.save(value: user?.primaryBankName ?? "", forKey: UserKeys.primaryBankName) diff --git a/GMERemittance/Module/Login/Application Logic/Service/LoginServiceType.swift b/GMERemittance/Module/Login/Application Logic/Service/LoginServiceType.swift index 556faac4..5832ffbc 100644 --- a/GMERemittance/Module/Login/Application Logic/Service/LoginServiceType.swift +++ b/GMERemittance/Module/Login/Application Logic/Service/LoginServiceType.swift @@ -8,6 +8,6 @@ import Foundation -protocol LoginServiceType: class, Login { +protocol LoginServiceType: class, LoginApiService { } diff --git a/GMERemittance/Module/TransactionHistory/User Interface/View/TransactionHistory.storyboard b/GMERemittance/Module/TransactionHistory/User Interface/View/TransactionHistory.storyboard index f81e5dfd..0fd79961 100644 --- a/GMERemittance/Module/TransactionHistory/User Interface/View/TransactionHistory.storyboard +++ b/GMERemittance/Module/TransactionHistory/User Interface/View/TransactionHistory.storyboard @@ -35,14 +35,17 @@ - - + + + + +