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.
|
|
// // ReferralCodeViewModel.swift // GMERemittance // // Created by Sujal on 4/20/18. // Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved. //
import Foundation
class ReferralCodeViewModel: ModelExtension { var referralCodeValidated: Box<Bool?> = Box(nil) var referralConnectionTimeOut: Box<Bool?> = Box(nil) var validReferralCode: String! let user_id = UserDefaults.standard.object(forKey: "com.gmeremit.username") as? String var param: [String: String] = [String: String]() /**
Verification of referral code - parameter referralCode: referral code */ func validateReferralCode(referralCode: String) { let spaceStrippedCode = referralCode.removeSpacesTrailingPreceding() if isValidReferralCode(code: spaceStrippedCode) { if !Reachability.isConnectedToNetwork() { self.internetConnection.value = false } else { param["referralCode"] = spaceStrippedCode RestApiMananger.sharedInstance.validateReferralCode(param: param) { result in switch result { case let .success(referralCodeJson): self.validReferralCode = referralCodeJson["referralCode"].rawString() self.referralCodeValidated.value = true case .failure(_): self.setErrorMessage(message: "Invalid referral code") self.referralCodeValidated.value = false case .updateAccessCode: RestApiMananger.sharedInstance.updateAccessCode(userId: self.user_id!, password: self.getLoginPassword()) { result in if result != "Error"{ let uuid = RestApiMananger.sharedInstance.getUUID() UserDefaults.standard.set((result + ":" + uuid).toBase64(), forKey: "com.gmeremit.accessCode") self.validateReferralCode(referralCode: referralCode) } } case .logOutUser(): self.anotherLogin.value = true case .timeOut: self.referralConnectionTimeOut.value = false } } } } else { self.setErrorMessage(message: "Empty referral Code") self.referralCodeValidated.value = false } } /**
Validation for empty */ func isValidReferralCode(code: String) -> Bool { if code.isBlank || code.isEmpty { return false } return true } /**
- returns: valid referral code */ func getValidReferralCode() -> String { return validReferralCode } }
|