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.

60 lines
1.7 KiB

6 years ago
  1. //
  2. // SendMoneyVerificationWireframe.swift
  3. // GMERemittance
  4. //
  5. // Created by gme_2 on 28/08/2018.
  6. //Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved.
  7. //
  8. import UIKit
  9. class SendMoneyVerificationWireframe {
  10. weak var view: UIViewController!
  11. var reciepient: Recipient?
  12. var model: SendMoneyRequestModel?
  13. //TODO: otp
  14. var request: OTPProtocol?
  15. private lazy var reciptWireframe = SendMoneyReceiptWireframe()
  16. }
  17. extension SendMoneyVerificationWireframe: SendMoneyVerificationWireframeInput {
  18. var storyboardName: String {return "SendMoneyVerification"}
  19. func getMainView() -> UIViewController {
  20. let service = SendMoneyVerificationService()
  21. //TODO: otp
  22. let interactor = SendMoneyVerificationInteractor(service: service, request: request)
  23. let presenter = SendMoneyVerificationPresenter()
  24. let viewController = viewControllerFromStoryboard(of: SendMoneyVerificationViewController.self)
  25. viewController.reciepient = self.reciepient
  26. viewController.requestModel = self.model
  27. viewController.presenter = presenter
  28. interactor.output = presenter
  29. presenter.interactor = interactor
  30. presenter.wireframe = self
  31. presenter.view = viewController
  32. self.view = viewController
  33. return viewController
  34. }
  35. func openReciept(transactionId: String) {
  36. if let navigation = self.view.navigationController {
  37. reciptWireframe.openReciept(transactionId: transactionId, source: navigation)
  38. }
  39. }
  40. func openVerification(
  41. reciepient: Recipient,
  42. model: SendMoneyRequestModel,
  43. source: UINavigationController
  44. ) {
  45. self.reciepient = reciepient
  46. self.model = model
  47. self.pushMainView(in: source)
  48. }
  49. }