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.
 
 
 
 

93 lines
2.9 KiB

//
// ForgetPasswordViewModel.swift
// GMERemittance
//
// Created by Sujal on 12/19/17.
// Copyright © 2017 Gobal Money Express Co. Ltd. All rights reserved.
//
import Foundation
class ForgetPasswordViewModel: ModelExtension {
private var userId: String?
private var userDOB: String?
let user_id = UserDefaults.standard.object(forKey: "com.gmeremit.username") as? String
let password = UserDefaults.standard.object(forKey: "com.gmeremit.password") as? String
var requestAcknowledged: Box<Bool?> = Box(nil)
var forgetPasswordConnectionTimeOut: Box<Bool?> = Box(nil)
var isVerifiedUser: Bool?
}
extension ForgetPasswordViewModel {
/**
To set user id
- parameter userId: userId
*/
func setUserId(userId: String) {
self.userId = userId
}
/**
To set user DOB
- parameter userDOB: date
*/
func setUserDOB(userDOB: String) {
self.userDOB = userDOB
}
/**
Api request for verification of user account
*/
func checkUserVerification() {
if !Reachability.isConnectedToNetwork() {
self.internetConnection.value = false
} else {
RestApiMananger.sharedInstance.isVerifiedUser(userId: self.userId!) { result in
switch result {
case let .success(authJSON):
self.isVerifiedUser = authJSON["verified"].boolValue
UserDefaults.standard.set(authJSON["userId"].stringValue, forKey: "com.gmeremit.username")
self.requestAcknowledged.value = true
case let .failure(errorJSON):
self.setErrorMessage(message: errorJSON["message"].stringValue)
self.requestAcknowledged.value = false
case .updateAccessCode:
return
case .logOutUser():
return
case .timeOut:
self.forgetPasswordConnectionTimeOut.value = false
}
}
}
}
/**
Api request to submit DOB of user
*/
func submitDOB() {
if !Reachability.isConnectedToNetwork() {
self.internetConnection.value = false
} else {
RestApiMananger.sharedInstance.submitUserDOB(userId: self.userId!, userDOB: self.userDOB!) { result in
switch result {
case .success(_):
self.requestAcknowledged.value = true
case let .failure(errorJSON):
self.setErrorMessage(message: errorJSON["message"].stringValue)
self.requestAcknowledged.value = false
case .updateAccessCode:
return
case .logOutUser():
return
case .timeOut:
self.forgetPasswordConnectionTimeOut.value = false
}
}
}
}
}