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