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.

98 lines
3.2 KiB

6 years ago
  1. //
  2. // ProfileDocumentViewController.swift
  3. // GMERemittance
  4. //
  5. // Created by Fm-user on 1/31/18.
  6. // Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved.
  7. //
  8. import UIKit
  9. class ProfileDocumentViewController: UIViewController {
  10. @IBOutlet weak var imageViewIDFront: UIImageView!
  11. @IBOutlet weak var imageViewIDBack: UIImageView!
  12. @IBOutlet weak var imageViewPassbook: UIImageView!
  13. @IBOutlet weak var imageViewPassport: UIImageView!
  14. @IBOutlet weak var imageViewCloseUpSelfie: UIImageView!
  15. var userinfoviewmodel: UserInfoViewModel?
  16. override func viewDidLoad() {
  17. super.viewDidLoad()
  18. setUpNavBar(id: 201, title: "Profile")
  19. guard userinfoviewmodel != nil else {
  20. return
  21. }
  22. setUpAnotherLoginListener(genericviewmodel: userinfoviewmodel!)
  23. userinfoviewmodel?.internetConnection.value = nil
  24. /**
  25. internet check
  26. */
  27. userinfoviewmodel?.internetConnection.bind { [unowned self] in
  28. guard $0 != nil else {
  29. return
  30. }
  31. self.popUpMessage(value: 15)
  32. }
  33. guard userinfoviewmodel != nil else {
  34. self.popUpMessageInfo(value: 16, title: "No Data Available", message: "Data not received")
  35. return
  36. }
  37. downloadImage(id: 1, url: URL(string: (userinfoviewmodel?.getInfo().regIdcardFrontUrl)!)!)
  38. downloadImage(id: 2, url: URL(string: (userinfoviewmodel?.getInfo().regIdcardBackUrl)!)!)
  39. downloadImage(id: 3, url: URL(string: (userinfoviewmodel?.getInfo().passbookUrl)!)!)
  40. downloadImage(id: 4, url: URL(string: (userinfoviewmodel?.getInfo().passportUrl)!)!)
  41. if let url = userinfoviewmodel?.getInfo().selfieUrl{
  42. downloadImage(id: 5, url: URL(string: url)!)
  43. }
  44. }
  45. func getDataFromUrl(url: URL, completion: @escaping (Data?, URLResponse?, Error?) -> ()) {
  46. URLSession.shared.dataTask(with: url) { data, response, error in
  47. completion(data, response, error)
  48. }.resume()
  49. }
  50. /**
  51. To download the image throug api call
  52. - parameter Int: type of image
  53. - parameter url: url of image
  54. */
  55. func downloadImage(id: Int, url: URL) {
  56. getDataFromUrl(url: url) { data, response, error in
  57. guard let data = data, error == nil else { return }
  58. DispatchQueue.main.async() {
  59. switch id {
  60. case 1:
  61. self.imageViewIDFront.image = UIImage(data: data)
  62. case 2:
  63. self.imageViewIDBack.image = UIImage(data: data)
  64. case 3:
  65. self.imageViewPassbook.image = UIImage(data: data)
  66. case 4:
  67. self.imageViewPassport.image = UIImage(data: data)
  68. case 5:
  69. self.imageViewCloseUpSelfie.image = UIImage(data: data)
  70. default:
  71. return
  72. }
  73. }
  74. }
  75. }
  76. override func didReceiveMemoryWarning() {
  77. super.didReceiveMemoryWarning()
  78. }
  79. }