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 @@
-
-
+
+
+
+
+
-
-
+
@@ -235,6 +237,7 @@
+
diff --git a/GMERemittance/Utility/AppConstants.swift b/GMERemittance/Utility/AppConstants.swift
index 4a3d06ac..f89ef31c 100644
--- a/GMERemittance/Utility/AppConstants.swift
+++ b/GMERemittance/Utility/AppConstants.swift
@@ -82,4 +82,5 @@ class Utility {
}
return nil
}
+
}
diff --git a/GMERemittance/_Login/LoginViewModel.swift b/GMERemittance/_Login/LoginViewModel.swift
index f43c2916..42ba82d4 100644
--- a/GMERemittance/_Login/LoginViewModel.swift
+++ b/GMERemittance/_Login/LoginViewModel.swift
@@ -8,7 +8,7 @@
import Foundation
-class LoginViewModel: SignUpViewModel, Login {
+class LoginViewModel: SignUpViewModel, LoginApiService {
var loggedin: Box = Box(nil)
var loggedInConnectionTimeOut: Box = Box(nil)