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.
 
 
 
 

70 lines
2.2 KiB

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