// // AddAccountPresenter.swift // GME Remit // // Created by InKwon Devik Kim on 12/04/2019. //Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. // import Foundation class AddAccountPresenter { // MARK: Properties weak var view: AddAccountViewInterface? var interactor: AddAccountInteractorInput? var wireframe: AddAccountWireframeInput? private var model: KFTCModel? init(with model: KFTCModel?) { self.model = model } // MARK: Converting entities } // MARK: AddAccount module interface extension AddAccountPresenter: AddAccountModuleInterface { func viewIsReady() { interactor?.viewIsReady(model: model) } func verifyAccount( customerID: String, bankCode: String, accountNumber: String ){ if customerID == "" || bankCode == "" || accountNumber == "" { let error = NSError.init( domain: "Invalid Bank Account", code: 0, message: "Check your bank account information") view?.failure(error: error) } else { view?.startLoading() interactor?.verifyAccount( customerID: customerID, bankCode: bankCode, accountNumber: accountNumber ) } } func doGetTestURL(url: String, header: [String: String]) { view?.startLoading() interactor?.fetchKFTCUrl(url: url, header: header) } func goKFTC(url: String, header: [KftcHeader]?) { wireframe?.pushKFTCViewControllerOf( url: url.components(separatedBy: .whitespaces).joined(), header: header) } } // MARK: AddAccount interactor output interface extension AddAccountPresenter: AddAccountInteractorOutput { func setModel(model: (bankList: [BankInformation]?, kftcModel: KFTCModel?)) { view?.setModel(model: model) } func failureSetModel(error: Error) { view?.failureSetModel(error: error) } func successVerify() { view?.endLoading() view?.successVerify() } func failure(error: Error) { view?.endLoading() view?.failure(error: error) } func successTestURL(url: String) { view?.endLoading() view?.successTestURL(url: url) } }