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.

73 lines
2.2 KiB

6 years ago
6 years ago
6 years ago
  1. //
  2. // HomeWireframe.swift
  3. // GMERemittance
  4. //
  5. // Created by gme_2 on 21/09/2018.
  6. //Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved.
  7. //
  8. import UIKit
  9. class HomeWireframe {
  10. weak var view: UIViewController!
  11. private lazy var transactionHistoryWireframe: TransactionHistoryWireframeInput = TransactionHistoryWireframe()
  12. private lazy var sendMoneyWireframe: SendMoneyParentWireframeInput = SendMoneyParentWireframe()
  13. private lazy var todaysRateWireframe: ExchangeRatesWireframeInput = ExchangeRatesWireframe()
  14. private lazy var kycWireFrame = KycWireframe()
  15. private lazy var walletStatementWireframe = WalletStatementWireframe()
  16. }
  17. extension HomeWireframe: HomeWireframeInput {
  18. var storyboardName: String {return "Home"}
  19. func getMainView() -> UIViewController {
  20. let service = HomeService()
  21. let interactor = HomeInteractor(service: service)
  22. let presenter = HomePresenter()
  23. let viewController = viewControllerFromStoryboard(of: HomeViewController.self)
  24. viewController.presenter = presenter
  25. interactor.output = presenter
  26. presenter.interactor = interactor
  27. presenter.wireframe = self
  28. presenter.view = viewController
  29. self.view = viewController
  30. return viewController
  31. }
  32. func openTransactionHistory() {
  33. if let navigation = self.view.navigationController {
  34. self.transactionHistoryWireframe.pushMainView(in: navigation)
  35. }
  36. }
  37. func openSendMoney() {
  38. if let navigation = self.view.navigationController {
  39. self.sendMoneyWireframe.pushMainView(in: navigation)
  40. }
  41. }
  42. func openTrackYourTransfer() {
  43. if let navigation = self.view.navigationController {
  44. self.walletStatementWireframe.openWalletStatement(source: navigation)
  45. }
  46. }
  47. func openTodaysRate() {
  48. if let navigation = self.view.navigationController {
  49. self.todaysRateWireframe.pushMainView(in: navigation)
  50. }
  51. }
  52. func openKyc() {
  53. if let navigation = self.view.navigationController {
  54. self.kycWireFrame.pushMainView(in: navigation)
  55. }
  56. }
  57. func logOut() {
  58. MainWireframe.logout()
  59. }
  60. }