Advertisement
Tokhab

Swift

Jan 9th, 2021
585
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 3.82 KB | None | 0 0
  1. struct ValidUserTruth : Decodable {
  2.     var result: DetailUser?
  3.     var httpStatusCode:Int
  4.     }
  5.  
  6. struct DetailUser: Decodable {
  7.     var Result: Int?
  8.     var RequiredInfo: Int?
  9. //    var Custom: String?
  10.     var UserId: Int?
  11. //    var deposits: Decimal?
  12. //    var points: Int?
  13.     var Name: String?
  14. //    var AuthenticationType: String?
  15. //    var Role: Int?
  16.    
  17. }
  18.  
  19. struct UserBalance: Decodable {
  20.     var result: Decimal
  21.     var httpStatusCode: Int
  22. }
  23. var BalanceUser : Decimal?
  24. func CheckBalance (UserID : Int) -> Decimal {
  25.     let urlString = "http://\(MasterLog):\(MasterPass)@\(IP)/api/users/\(UserID)/points"
  26.     guard let url = URL(string: urlString) else { return 0 }
  27.     URLSession.shared.dataTask(with: url) { (data, response, error) in
  28.        
  29.         guard let data = data else { return }
  30.         guard error == nil else { return }
  31.        
  32.         do {
  33.             let balance = try JSONDecoder().decode(UserBalance.self, from: data)
  34.             BalanceUser = balance.result
  35.             print("Your balance is \(BalanceUser ?? 123)")
  36.            
  37.         } catch let error { print(error) }
  38.  
  39.  
  40.     }.resume()
  41.     print("I'm here")
  42. //    ViewController().TitleBalance.text = "Your Balance will be here"
  43.     let vc = ViewController()
  44.     vc.labelText = "new label"
  45.  
  46.     print("I'm still here \(BalanceUser ?? 23)")
  47.     return BalanceUser ?? 12
  48. }
  49.  
  50.  
  51. func CheckUser (Login: String, Password: String) -> Bool {
  52.     let urlString = "http://\(MasterLog):\(MasterPass)@\(IP)/api/users/\(Login)/\(Password)/valid"
  53.     guard let url = URL(string: urlString) else { return false }
  54. //        
  55. //        guard let NewURL = URL(string: urlString) else { return false }
  56.   //URLSession.shared.dataTask(with: url) { (data, resonse, error) in
  57. //        URLSession.shared.dataTask(with: NewURL) { (data, response, error) in
  58.     URLSession.shared.dataTask(with: url) { (data, response, error) in
  59.         guard let data = data else { return }
  60.         guard error == nil else { return }
  61.        
  62.         do {
  63.             let checking = try JSONDecoder().decode(ValidUserTruth.self, from: data)
  64.             print("Our URL is \(url)")
  65.             print("Here start JSON - \(checking)")
  66.             print("Result \(checking.result!.Result!)")
  67.             print("User ID - \(String(describing: checking.result!.UserId!))")
  68.             //print("The Balance of user \(LogEn) is \(self.CheckBalance(UserID: checking.result!.UserId!) and ID user is ")
  69.             print(CheckBalance(UserID: checking.result!.UserId!))
  70.             print("let try to see it \(BalanceUser ?? 0)")
  71.         } catch let error { print(error)}
  72.     }.resume()
  73.        
  74. //    TitleLabel.text = LogEn.text! + " " + PassEn.text!
  75.     return true
  76. }
  77.  
  78. class ViewController: UIViewController {
  79.     var labelText: String?
  80.     @IBOutlet weak var TitleLabel: UILabel!
  81.     @IBOutlet weak var LogEn: UITextField!
  82.     @IBOutlet weak var PassEn: UITextField!
  83.     @IBOutlet weak var TitleBalance: UILabel!
  84.     @IBOutlet weak var TitleButton: UIButton!
  85.     @IBAction func PushButton(_ sender: UIButton) {
  86.         guard LogEn.text != "" else { return }
  87.         guard PassEn.text != "" else { return }
  88.         if CheckUser(Login: LogEn.text!, Password: PassEn.text!) {print("We're in")
  89.             print("new text\(BalanceUser)")
  90.         } else {print("Somehing goes wrong")}
  91. //        print(BalanceUser!)
  92.     }
  93.    
  94.     override func viewDidLoad() {
  95.         super.viewDidLoad()
  96.         TitleLabel.text = labelText ?? ""
  97.         // Do any additional setup after loading the view.
  98.        
  99. //        guard let url = URL(string: urlString) else { return }
  100. //
  101. //        URLSession.shared.dataTask(with: url) { (data, response, error) in
  102. //            guard let data = data else { return }
  103. //            guard error == nil else { return }
  104. //
  105.            
  106.        
  107.     }
  108.  
  109.  
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement