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.

102 lines
2.0 KiB

5 years ago
5 years ago
5 years ago
5 years ago
  1. //
  2. // RedeemPresenter.swift
  3. // GME Remit
  4. //
  5. // Created by InKwon Devik Kim on 11/04/2019.
  6. //Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
  7. //
  8. import Foundation
  9. class RedeemPresenter {
  10. // MARK: Properties
  11. weak var view: RedeemViewInterface?
  12. var interactor: RedeemInteractorInput?
  13. var wireframe: RedeemWireframeInput?
  14. private var model: RewardProduct?
  15. init(with model: RewardProduct?){
  16. self.model = model
  17. }
  18. // MARK: Converting entities
  19. }
  20. // MARK: Redeem module interface
  21. extension RedeemPresenter: RedeemModuleInterface {
  22. func viewIsReady() {
  23. view?.startLoading()
  24. interactor?.viewIsReady(model: model)
  25. }
  26. func showSearchAddressVC() {
  27. wireframe?.showSearchAddressVC()
  28. }
  29. func fetchBranches() {
  30. view?.startLoading()
  31. interactor?.fetchBranches()
  32. }
  33. func showBranchesVC(){
  34. wireframe?.showBranchesVC()
  35. }
  36. func submit(with model: Redeem?) {
  37. view?.startLoading()
  38. interactor?.submit(with: model)
  39. }
  40. func goRewardHome() {
  41. wireframe?.goRewardVC()
  42. }
  43. func refreshRewardPoint() {
  44. view?.startLoading()
  45. interactor?.refreshRewardPoint()
  46. }
  47. }
  48. // MARK: Redeem interactor output interface
  49. extension RedeemPresenter: RedeemInteractorOutput {
  50. func successRefreshRewardPoint() {
  51. view?.endLoading()
  52. view?.successRefreshRewardPoint()
  53. }
  54. func failureRefreshRewardPoint(with error: Error) {
  55. view?.endLoading()
  56. view?.failureRefreshRewardPoint(with: error)
  57. }
  58. func result(model: RewardProduct?) {
  59. view?.endLoading()
  60. view?.setModel(model: model)
  61. }
  62. func setBranches(with model: [Branch]?) {
  63. view?.endLoading()
  64. view?.setBranches(with: model)
  65. }
  66. func setBranchesError(with error: Error) {
  67. view?.endLoading()
  68. view?.setBranchesError(with: error)
  69. }
  70. func submitSuccess() {
  71. view?.endLoading()
  72. view?.submitSuccess()
  73. }
  74. func submitFailure(with error: Error) {
  75. view?.endLoading()
  76. view?.submitFailure(with: error)
  77. }
  78. }