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.
 
 
 
 

61 lines
1.5 KiB

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