// // BeneficiaryDetailWireframe.swift // GME Remit // // Created by Manish Adhikari on 24/03/2023. //Copyright © 2023 Gobal Money Express Co. Ltd. All rights reserved. // import UIKit class BeneficiaryDetailWireframe { weak var view: UIViewController! var recipient: Recipient? var output: BeneficiaryDetailWireframeOutput? var presenter: RecipientsPresenter? var viewModel: RecipientsViewModel? var fetchReciptent: ((Recipient?) -> Void)? } extension BeneficiaryDetailWireframe: BeneficiaryDetailWireframeInput { var storyboardName: String {return "BeneficiaryDetail"} func getMainView() -> UIViewController { let service = BeneficiaryDetailService() let interactor = BeneficiaryDetailInteractor(service: service) let presenter = BeneficiaryDetailPresenter() let viewController = viewControllerFromStoryboard(of: BeneficiaryDetailViewController.self) viewController.fetchReciptent = fetchReciptent viewController.reciptent = recipient viewController.presenter = presenter interactor.output = presenter presenter.interactor = interactor presenter.wireframe = self presenter.view = viewController self.view = viewController return viewController } func back() { self.view.navigationController?.popViewController(animated: true) } func gotoSendMoney(_ reciptent: Recipient?, _ paymentMethod: PaymentMethodModel?) { guard let navigationVC = view.navigationController else { return } guard let recipientData = reciptent else { return } let wireframe = SendMoneyParentWireframe() wireframe.output = self.presenter wireframe.viewModel = self.viewModel wireframe.paymentMethod = paymentMethod wireframe.open(for: recipientData, in: navigationVC) } func openEditRecipient(who recipient: Recipient, fetchReciptent: ((Recipient?) -> Void)?) { SetupRecipientWireframe().openEditFromBeneficeris(using: recipient, on: view, completion: fetchReciptent) } }