Advertisement
Guest User

Untitled

a guest
Oct 18th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 3.51 KB | None | 0 0
  1. @objc func fetchPersonalData() {
  2.         let personalDataGet = PayPersonalDataGet()
  3.         var viewController: UIViewController?
  4.        
  5.         personalDataGet.execute(success: { [weak self] response in
  6.             if response.resultCode == 1 && response.result == nil {
  7.                 viewController = self?.storyboard?.instantiateViewController(withIdentifier: "PayVerificationWelcomeVC")
  8.                 self?.navigationController?.pushViewController(viewController!, animated: true)
  9.                 return
  10.             }
  11.            
  12.             PayVerificationManager.shared.personalData = response.result
  13.             guard let status = response.result?.checkStatus else { return }
  14.             switch status {
  15.             case .INITIAL, .PERSONAL_DATA_VALIDATE_REJECTED, .SIGNED_DOCUMENTS_STORING_FAILED:
  16.                 viewController = self?.storyboard?.instantiateViewController(withIdentifier: "PayVerificationWelcomeVC")
  17.             case .DOCUMENTS_UPLOADED:
  18.                 viewController = self?.storyboard?.instantiateViewController(withIdentifier: "PayVerificationPersonalDetailsVC")
  19.             case .PERSONAL_DATA_VALIDATE_PASSED, .PERSONAL_DATA_UPDATE_REJECTED:
  20.                 viewController = self?.storyboard?.instantiateViewController(withIdentifier: "PayVerificationPlaceOfBirthVC")
  21.             case .PERSONAL_DATA_UPDATE_PASSED, .FACE_MATCH_REJECTED:
  22.                 PayVerificationManager.shared.rootVC = UIApplication.shared.keyWindow?.rootViewController
  23.                 viewController = self?.storyboard?.instantiateViewController(withIdentifier: "PayVerificationSelfieVC")
  24.                 UIApplication.shared.keyWindow?.rootViewController = viewController
  25.                 return
  26.             case .FACE_MATCH_PASSED, .SIGNATURE_STEP_STARTED, .SIGNATURE_STEP_REJECTED:
  27.                 let service = PayValidationSignature()
  28.                 service.execute(success: { response in
  29.                     let callVC = self?.storyboard?.instantiateViewController(withIdentifier: "PayVerificationCallVC") as? PayVerificationCallVC
  30.                     callVC?.url = response.result
  31.                     self?.navigationController?.pushViewController(callVC!, animated: true)
  32.                 }) { _ in }
  33.             case .SIGNATURE_STEP_PASSED:
  34.                 break
  35.             case .SIGNED_DOCUMENTS_STORED:
  36.                 if self?.issuingCard == true { return }
  37.                
  38.                 self?.issuingCard = true
  39.                 let service = PayValidationIssueVirtualCard()
  40.                 service.execute(success: { response in
  41.                     if let cardToken = response.cardToken {
  42.                         let confirmService = PayValidationIssueVirtualCardConfirm(cardToken: cardToken)
  43.                         confirmService.execute(success: { response in
  44.                             self?.issuingCard = false
  45.                         }) { _ in
  46.                             self?.issuingCard = false
  47.                         }
  48.                     } else {
  49.                         self?.issuingCard = false
  50.                     }
  51.                 }) { _ in
  52.                     self?.issuingCard = false
  53.                 }
  54.                 break
  55.                
  56.             case .VALIDATION_FINISHED:
  57.                 break
  58.                
  59.             default:
  60.                 break
  61.             }
  62.                        
  63.             if let viewController = viewController {
  64.                 self?.navigationController?.pushViewController(viewController, animated: true)
  65.             }
  66.         }) { _ in }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement