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.
75 lines
1.9 KiB
75 lines
1.9 KiB
//
|
|
// SelectCouponWireframe.swift
|
|
// GME Remit
|
|
//
|
|
// Created by InKwon Devik Kim on 30/05/2019.
|
|
//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
class SelectCouponWireframe {
|
|
weak var view: UIViewController!
|
|
private var coupons: [Coupon]?
|
|
private var selectedCoupon: Coupon?
|
|
}
|
|
|
|
extension SelectCouponWireframe: SelectCouponWireframeInput {
|
|
|
|
var storyboardName: String {return "SelectCoupon"}
|
|
|
|
func getMainView() -> UIViewController {
|
|
let service = SelectCouponService()
|
|
let interactor = SelectCouponInteractor(
|
|
service: service,
|
|
selectedCoupon: selectedCoupon,
|
|
coupons: coupons
|
|
)
|
|
|
|
let presenter = SelectCouponPresenter()
|
|
let viewController = viewControllerFromStoryboard(of: SelectCouponViewController.self)
|
|
|
|
viewController.presenter = presenter
|
|
interactor.output = presenter
|
|
presenter.interactor = interactor
|
|
presenter.wireframe = self
|
|
presenter.view = viewController
|
|
|
|
view = viewController
|
|
return viewController
|
|
}
|
|
|
|
func openSelectCouponUsingPanModal(
|
|
didSelect coupon: Coupon?,
|
|
with coupons: [Coupon]?,
|
|
delegate: SelectCouponViewDelegate?,
|
|
in source: UIViewController?
|
|
) {
|
|
selectedCoupon = coupon
|
|
self.coupons = coupons
|
|
guard let vc = self.getMainView() as? SelectCouponViewController else {
|
|
return
|
|
}
|
|
|
|
vc.delegate = delegate
|
|
source?.presentPanModal(vc)
|
|
}
|
|
|
|
func openSelectCoupon(
|
|
didSelect coupon: Coupon?,
|
|
with coupons: [Coupon]?,
|
|
delegate: SelectCouponViewDelegate?,
|
|
in source: UIViewController?
|
|
) {
|
|
selectedCoupon = coupon
|
|
self.coupons = coupons
|
|
guard let vc = getMainView() as? SelectCouponViewController else {
|
|
return
|
|
}
|
|
|
|
vc.delegate = delegate
|
|
|
|
let nav = UINavigationController(rootViewController: vc)
|
|
source?.present(nav, animated: true, completion: nil)
|
|
}
|
|
}
|