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.
 
 
 
 

102 lines
2.0 KiB

//
// RedeemPresenter.swift
// GME Remit
//
// Created by InKwon Devik Kim on 11/04/2019.
//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
//
import Foundation
class RedeemPresenter {
// MARK: Properties
weak var view: RedeemViewInterface?
var interactor: RedeemInteractorInput?
var wireframe: RedeemWireframeInput?
private var model: RewardProduct?
init(with model: RewardProduct?){
self.model = model
}
// MARK: Converting entities
}
// MARK: Redeem module interface
extension RedeemPresenter: RedeemModuleInterface {
func viewIsReady() {
view?.startLoading()
interactor?.viewIsReady(model: model)
}
func showSearchAddressVC() {
wireframe?.showSearchAddressVC()
}
func fetchBranches() {
view?.startLoading()
interactor?.fetchBranches()
}
func showBranchesVC(){
wireframe?.showBranchesVC()
}
func submit(with model: Redeem?) {
view?.startLoading()
interactor?.submit(with: model)
}
func goRewardHome() {
wireframe?.goRewardVC()
}
func refreshRewardPoint() {
view?.startLoading()
interactor?.refreshRewardPoint()
}
}
// MARK: Redeem interactor output interface
extension RedeemPresenter: RedeemInteractorOutput {
func successRefreshRewardPoint() {
view?.endLoading()
view?.successRefreshRewardPoint()
}
func failureRefreshRewardPoint(with error: Error) {
view?.endLoading()
view?.failureRefreshRewardPoint(with: error)
}
func result(model: RewardProduct?) {
view?.endLoading()
view?.setModel(model: model)
}
func setBranches(with model: [Branch]?) {
view?.endLoading()
view?.setBranches(with: model)
}
func setBranchesError(with error: Error) {
view?.endLoading()
view?.setBranchesError(with: error)
}
func submitSuccess() {
view?.endLoading()
view?.submitSuccess()
}
func submitFailure(with error: Error) {
view?.endLoading()
view?.submitFailure(with: error)
}
}