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.6 KiB

  1. //
  2. // InboundReceiptWireframe.swift
  3. // GME Remit
  4. //
  5. // Created by InKwon James Kim on 2019/11/14.
  6. //Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
  7. //
  8. import UIKit
  9. class InboundReceiptWireframe {
  10. weak var view: UIViewController!
  11. private var model: TransactionModel?
  12. }
  13. extension InboundReceiptWireframe: InboundReceiptWireframeInput {
  14. var storyboardName: String {return "InboundReceipt"}
  15. func getMainView() -> UIViewController {
  16. let service = InboundReceiptService()
  17. let interactor = InboundReceiptInteractor(service: service, model: model)
  18. let presenter = InboundReceiptPresenter()
  19. let viewController = viewControllerFromStoryboard(of: InboundReceiptViewController.self)
  20. viewController.presenter = presenter
  21. interactor.output = presenter
  22. presenter.interactor = interactor
  23. presenter.wireframe = self
  24. view = viewController
  25. return viewController
  26. }
  27. func push(
  28. with model: TransactionModel?,
  29. on source: UIViewController
  30. ) {
  31. self.model = model
  32. let vc = getMainView()
  33. source.navigationController?.pushViewController(vc, animated: true)
  34. }
  35. func openAddInboundAccount(with model: TransactionModel, delegate: InboundPennyTestSubmitDelegate?) {
  36. let bank = BankInformation(bankCode: model.inboundBankCode, bankName: model.inboundBankName)
  37. let model = PenneyTestRequest(
  38. bank: bank,
  39. account: model.inboundAccountNo ?? ""
  40. )
  41. AddInboundAccountWireframe().open(with: model, delegate: delegate, source: view)
  42. }
  43. func pop() {
  44. view.navigationController?.popViewController(animated: true)
  45. }
  46. }