// // WalletStatementPresenter.swift // GMERemittance // // Created by gme_2 on 03/10/2018. //Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved. // import Foundation class WalletStatementPresenter { // MARK: Properties var models: [WalletStatement] = [] var filteredModels: [WalletStatement] = [] { didSet { self.view?.show(models: filteredModels) } } weak var view: WalletStatementViewInterface? var interactor: WalletStatementInteractorInput? var wireframe: WalletStatementWireframeInput? // MARK: Converting entities } // MARK: WalletStatement module interface extension WalletStatementPresenter: WalletStatementModuleInterface { func viewIsReady() { self.fetchWalletSatement(fromDate: nil, toDate: nil) } func filterWalletInStatements() { } func fetchWalletSatement(fromDate: String?, toDate: String?) { self.view?.showLoading() self.interactor?.fetchWalletSatement(fromDate: fromDate, toDate: toDate) } } // MARK: WalletStatement interactor output interface extension WalletStatementPresenter: WalletStatementInteractorOutput { func show(error: Error) { self.view?.hideLoading() self.view?.show(error: error.localizedDescription) } func show(models: [WalletStatement]) { self.view?.hideLoading() self.models = models self.filteredModels = self.models } }