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.
|
|
// // ResendPresenter.swift // GME Remit // // Created by gme_2 on 18/03/2019. //Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. //
import Foundation
class ResendPresenter { // MARK: Properties var transactions: [ResendTransactionModel] = [] var filteredTransaction: [ResendTransactionModel] = [] weak var view: ResendViewInterface? var interactor: ResendInteractorInput? var wireframe: ResendWireframeInput?
// MARK: Converting entities }
// MARK: Resend module interface
extension ResendPresenter: ResendModuleInterface { func fetchList(fromDate: String, toDate: String) { self.interactor?.fetchList(fromDate: fromDate, toDate: toDate) } func viewIsReady() { self.view?.showLoading() self.interactor?.fetchList(fromDate: nil, toDate: nil) } func filter(searchText: String) { if searchText.isEmpty { self.filteredTransaction = self.transactions return } self.filteredTransaction = self.transactions.filter({ return ($0.controlNumber ?? "").lowercased().contains(searchText) || ($0.bankName ?? "").lowercased().contains(searchText) || ($0.recieverName ?? "").lowercased().contains(searchText) }).sorted(by: { (model, _) in return (model.controlNumber ?? "").lowercased().hasPrefix(searchText) || (model.recieverName ?? "").lowercased().hasPrefix(searchText) || (model.bankName ?? "").lowercased().hasPrefix(searchText) }) self.view?.show(models: filteredTransaction) }
}
// MARK: Resend interactor output interface
extension ResendPresenter: ResendInteractorOutput { func show(error: Error) { self.view?.hideLoading() self.view?.hideLoading() } func show(model: ResendListModel) { self.view?.hideLoading() self.transactions = model.transactions ?? [] self.view?.show(model: model) } }
|