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.

59 lines
1.5 KiB

5 years ago
5 years ago
  1. //
  2. // SendMoneyCodeWireframe.swift
  3. // GME Remit
  4. //
  5. // Created by gme_2 on 27/02/2019.
  6. //Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
  7. //
  8. import UIKit
  9. enum CodeType {
  10. case sendMoney
  11. case editProfile
  12. }
  13. class SendMoneyCodeWireframe {
  14. weak var view: UIViewController!
  15. var completion: ((String) -> Void)?
  16. var request: OTPProtocol?
  17. private var type: CodeType = .sendMoney
  18. private var newValue: String?
  19. }
  20. extension SendMoneyCodeWireframe: SendMoneyCodeWireframeInput {
  21. var storyboardName: String {return "SendMoneyCode"}
  22. func getMainView() -> UIViewController {
  23. let service = SendMoneyCodeService()
  24. let interactor = SendMoneyCodeInteractor(service: service, request: self.request)
  25. let presenter = SendMoneyCodePresenter()
  26. let viewController = viewControllerFromStoryboard(of: SendMoneyCodeViewController.self)
  27. viewController.newValue = self.newValue
  28. viewController.completion = self.completion
  29. viewController.presenter = presenter
  30. viewController.type = type
  31. interactor.output = presenter
  32. presenter.interactor = interactor
  33. presenter.wireframe = self
  34. presenter.view = viewController
  35. self.view = viewController
  36. return viewController
  37. }
  38. func open(
  39. type: CodeType = .sendMoney,
  40. newValue: String,
  41. requestmodel: OTPProtocol?,
  42. completion: @escaping (String) -> Void,
  43. source: UIViewController
  44. ) {
  45. self.newValue = newValue
  46. self.type = type
  47. self.completion = completion
  48. self.request = requestmodel
  49. self.openMainView(source: source)
  50. }
  51. }