// // HomeWireframe.swift // GMERemittance // // Created by gme_2 on 21/09/2018. //Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved. // import UIKit class HomeWireframe { weak var view: UIViewController! private lazy var transactionHistoryWireframe: TransactionHistoryWireframeInput = TransactionHistoryWireframe() private lazy var sendMoneyWireframe: SendMoneyParentWireframeInput = SendMoneyParentWireframe() private lazy var todaysRateWireframe: ExchangeRatesWireframeInput = ExchangeRatesWireframe() private lazy var kycWireFrame = KycWireframe() private lazy var walletStatementWireframe = WalletStatementWireframe() private lazy var autodebitWireFrame = AutoDebitWireframe() private lazy var pennyTestWireFrame = PennyTestWireframe() private lazy var pennyTestSubmitWireFrame = PennyTestSubmitWireframe() private lazy var appUpdateWireFrame = AppUpdateWireframe() } extension HomeWireframe: HomeWireframeInput { var storyboardName: String {return "Home"} func getMainView() -> UIViewController { let service = HomeService() let interactor = HomeInteractor(service: service) let presenter = HomePresenter() let viewController = viewControllerFromStoryboard(of: HomeViewController.self) viewController.setupTabItem() viewController.presenter = presenter interactor.output = presenter presenter.interactor = interactor presenter.wireframe = self presenter.view = viewController let _ = viewController.view self.view = viewController return viewController } func openTransactionHistory() { if let navigation = self.view.navigationController { self.transactionHistoryWireframe.pushMainView(in: navigation) } } func openSendMoney() { if let navigation = self.view.navigationController { self.sendMoneyWireframe.pushMainView(in: navigation) } } func openTrackYourTransfer() { if let navigation = self.view.navigationController { self.walletStatementWireframe.openWalletStatement(source: navigation) } } // func openAutoDebit() { // if let navigation = self.view.navigationController { // autodebitWireFrame.pushMainView(in: navigation) // } // } func openTodaysRate() { if let navigation = self.view.navigationController { self.todaysRateWireframe.pushMainView(in: navigation) } } func openKyc() { if let navigation = self.view.navigationController { self.kycWireFrame.pushMainView(in: navigation) } } func showPennyTestSubmit() { if let navigation = self.view.navigationController { self.pennyTestSubmitWireFrame.openPennyTestSubmit(with: self.view) } } func showPennyTest() { self.pennyTestWireFrame.openViewControllerWithNavigation(viewController: pennyTestWireFrame.getMainView(), source: self.view) } func showAppUpdate() { self.appUpdateWireFrame.openMainView(source: self.view) } func logOut() { MainWireframe.logout() } }