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.

58 lines
1.7 KiB

  1. //
  2. // AutoDebitWireframe.swift
  3. // GME Remit
  4. //
  5. // Created by Mac on 12/19/18.
  6. //Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved.
  7. //
  8. import UIKit
  9. class AutoDebitWireframe {
  10. weak var view: UIViewController!
  11. }
  12. extension AutoDebitWireframe: AutoDebitWireframeInput {
  13. var storyboardName: String {return "AutoDebit"}
  14. func getMainView() -> UIViewController {
  15. let service = AutoDebitService()
  16. let interactor = AutoDebitInteractor(service: service)
  17. let presenter = AutoDebitPresenter()
  18. let viewController = viewControllerFromStoryboard(of: AutoDebitViewController.self)
  19. viewController.presenter = presenter
  20. interactor.output = presenter
  21. presenter.interactor = interactor
  22. presenter.wireframe = self
  23. presenter.view = viewController
  24. self.view = viewController
  25. return viewController
  26. }
  27. func goAddAccountViewController(with model: KFTCModel?) {
  28. AddAccountWireframe().openPushMainView(with: model, source: view)
  29. }
  30. func goRefreshToken(header: [KftcHeader]?, url: String?) {
  31. guard let viewcontroller = UIStoryboard(
  32. name: "WKWebView",
  33. bundle: nil
  34. ).instantiateViewController(withIdentifier: "WkWebViewController") as? WkWebViewController else {
  35. return
  36. }
  37. viewcontroller.url = url?.components(separatedBy: .whitespaces).joined()
  38. viewcontroller.headers = header
  39. let navigationController = UINavigationController(rootViewController: viewcontroller)
  40. view.present(navigationController, animated: true, completion: nil)
  41. }
  42. func openRegisterInboundAccount(with model: PenneyTestRequest, delegate: InboundPennyTestSubmitDelegate?) {
  43. AddInboundAccountWireframe().open(with: model, delegate: delegate, source: view)
  44. }
  45. }