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