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.
 
 
 
 

97 lines
3.2 KiB

//
// 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()
}
}