Advertisement
Guest User

Untitled

a guest
Dec 11th, 2017
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 3.44 KB | None | 0 0
  1. private func signIn() {
  2.         self.view.endEditing(true)
  3.        
  4.         let messages = self.validationErrorMessages()
  5.         self.validateErrorMessages(messages)
  6.         if messages.count > 0 {
  7.             return
  8.         }
  9.        
  10.         let entry = FFEntry()
  11.         entry.login = self.loginTextField.text
  12.         entry.password = self.passwordTextField.text
  13.        
  14.         FFHUD.show()
  15.         self.navigationController?.view.isUserInteractionEnabled = false
  16.         FFNetworkAdapter.request(target: .login(entry: entry), success: { [weak self] (response) in
  17.             FFHUD.dismiss()
  18.             self?.navigationController?.view.isUserInteractionEnabled = true
  19.            
  20.             let token = try! response.mapObject(FFToken.self)
  21.             let user = try! response.mapObject(FFUser.self)
  22.            
  23.             FFUserHolder.token = token.value!
  24.             FFUserHolder.user = user
  25.          
  26.             self?.performSegue(withIdentifier: FFGlobalConstants.toMenuSegueIdentifier, sender: nil)
  27.             }, failure: { [weak self] (messages) in
  28.                 FFHUD.dismiss()
  29.                 self?.navigationController?.view.isUserInteractionEnabled = true
  30.                 self?.validateErrorMessages(messages)
  31.         })
  32.     }
  33.    
  34.     private func validationErrorMessages() -> [FFErrorMessage] {
  35.         var messages: [FFErrorMessage] = []
  36.                
  37.         if !(self.loginTextField.text?.isValideLogin)! {
  38.             let message = FFErrorMessage()
  39.             message.type = FFErrorMessageType.login
  40.             message.text = NSLocalizedString("validation_login_length", comment: "")
  41.            
  42.             messages.append(message)
  43.         }
  44.        
  45.         if !(self.passwordTextField.text?.isValidePassword)! {
  46.             let message = FFErrorMessage()
  47.             message.type = FFErrorMessageType.password
  48.             message.text = NSLocalizedString("validation_password_length", comment: "")
  49.            
  50.             messages.append(message)
  51.         }
  52.        
  53.         return messages
  54.     }
  55.    
  56.     private func validateErrorMessages(_ messages: [FFErrorMessage]) {
  57.         if let message = messages.first(where: {$0.type == FFErrorMessageType.login}) {
  58.             self.loginTextField.borderColorTypeName = FFColorType.redOrange.rawValue
  59.            
  60.             self.loginErrorLabel.isHidden = false
  61.             self.loginErrorImageView.isHidden = false
  62.             self.loginErrorLabel.text = message.text
  63.         }
  64.         else {
  65.             self.loginTextField.borderColorTypeName = FFColorType.alto.rawValue
  66.             self.loginErrorLabel.isHidden = true
  67.             self.loginErrorImageView.isHidden = true
  68.         }
  69.        
  70.         if let message = messages.first(where: {$0.type == FFErrorMessageType.password}) {
  71.             self.passwordTextField.borderColorTypeName = FFColorType.redOrange.rawValue
  72.            
  73.             self.passwordErrorLabel.isHidden = false
  74.             self.passwordErrorImageView.isHidden = false
  75.             self.passwordErrorLabel.text = message.text
  76.         }
  77.         else {
  78.             self.passwordTextField.borderColorTypeName = FFColorType.alto.rawValue
  79.             self.passwordErrorLabel.isHidden = true
  80.             self.passwordErrorImageView.isHidden = true
  81.         }
  82.        
  83.         if let message = messages.first(where: {$0.type == FFErrorMessageType.alert}) {
  84.             FFAlertManager.showErrorMessage(message.text!)
  85.         }
  86.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement