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.

72 lines
2.1 KiB

6 years ago
6 years ago
6 years ago
6 years ago
  1. //
  2. // SendMoneyPaymentModePresenter.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 Foundation
  9. class SendMoneyPaymentModePresenter {
  10. // MARK: Properties
  11. weak var view: SendMoneyPaymentModeViewInterface?
  12. var interactor: SendMoneyPaymentModeInteractorInput?
  13. var wireframe: SendMoneyPaymentModeWireframeInput?
  14. // MARK: Converting entities
  15. }
  16. // MARK: SendMoneyPaymentMode module interface
  17. extension SendMoneyPaymentModePresenter: SendMoneyPaymentModeModuleInterface {
  18. func viewIsReady(for reciepient: Recipient) {
  19. self.view?.showLoading()
  20. self.interactor?.viewIsReady(for: reciepient)
  21. }
  22. func validate(model: SendMoneyAccountValidationRequestModel) {
  23. let params: [String: String] =
  24. [
  25. "IdType" : model.idType ?? "",
  26. "IdNumber": model.idNumber ?? "",
  27. "CustomerFirstName": model.customerFirstName ?? "",
  28. "CustomerLastName": model.reciverLastName ?? "",
  29. "ReceiverFirstName": model.reciverFirstName ?? "",
  30. "ReceiverLastName": model.reciverLastName ?? "",
  31. "Country": model.country ?? "",
  32. "AccountType": model.accountType ?? "",
  33. "IssuerCode": model.issuerCode ?? "",
  34. "AccountNo": model.accountNo ?? "",
  35. "BankCode": model.bankCode ?? "",
  36. "Amount": model.amount ?? "",
  37. "PayoutPartner": model.payoutPartner ?? "",
  38. "ProcessId": model.processId ?? ""
  39. ]
  40. self.interactor?.validateAccountNumber(params: params)
  41. }
  42. }
  43. // MARK: SendMoneyPaymentMode interactor output interface
  44. extension SendMoneyPaymentModePresenter: SendMoneyPaymentModeInteractorOutput {
  45. func show(error: Error) {
  46. self.view?.show(error: error.localizedDescription)
  47. self.view?.hideLoading()
  48. }
  49. func show(model: [SendMoneyPayoutMode]) {
  50. self.view?.hideLoading()
  51. self.view?.show(model: model)
  52. }
  53. func success() {
  54. self.view?.success()
  55. }
  56. }