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.
92 lines
3.0 KiB
92 lines
3.0 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 pennyTestWireFrame = PennyTestWireframe()
|
|
private lazy var pennyTestSubmitWireFrame = PennyTestSubmitWireframe()
|
|
private lazy var appUpdateWireFrame = AppUpdateWireframe()
|
|
// private lazy var resendWireframe: ResendWireframe = ResendWireframe()
|
|
}
|
|
|
|
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 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()
|
|
}
|
|
}
|