From 3143b425bf1c099fff394a7f5092338684f5f60b Mon Sep 17 00:00:00 2001 From: ccr Date: Wed, 28 Nov 2018 12:08:30 +0545 Subject: [PATCH] transfer kyc response model to penny test wireframe --- GMERemittance/Model/KYCResponseModel.swift | 4 ++++ .../Application Logic/Interactor/KycInteractor.swift | 1 + .../Kyc/Module Interface/KycModuleInterface.swift | 2 ++ .../Kyc/User Interface/Presenter/KycPresenter.swift | 10 ++++++++++ .../Kyc/User Interface/View/KycViewController.swift | 9 +++++++++ .../Kyc/User Interface/View/KycViewInterface.swift | 1 + .../Kyc/User Interface/Wireframe/KycWireframe.swift | 8 ++++++++ .../User Interface/Wireframe/KycWireframeInput.swift | 1 + .../User Interface/Wireframe/PennyTestWireframe.swift | 6 ++++++ 9 files changed, 42 insertions(+) diff --git a/GMERemittance/Model/KYCResponseModel.swift b/GMERemittance/Model/KYCResponseModel.swift index f9395efb..264a192e 100644 --- a/GMERemittance/Model/KYCResponseModel.swift +++ b/GMERemittance/Model/KYCResponseModel.swift @@ -51,6 +51,10 @@ class KYCResponse: Mappable { var passportUrl: String? var selfieUrl: String? + + init() { + + } required init?(map: Map) { } diff --git a/GMERemittance/Module/New Group/Kyc/Application Logic/Interactor/KycInteractor.swift b/GMERemittance/Module/New Group/Kyc/Application Logic/Interactor/KycInteractor.swift index 3fb7f1fa..6cd16939 100644 --- a/GMERemittance/Module/New Group/Kyc/Application Logic/Interactor/KycInteractor.swift +++ b/GMERemittance/Module/New Group/Kyc/Application Logic/Interactor/KycInteractor.swift @@ -266,6 +266,7 @@ extension KycInteractor: KycInteractorInput { self.service.submit(param: params, images: images, success: { (response) in // print(response?.firstName) // Todo: After success what? + // show message from api UserDefaults.standard.set(true, forKey: UserKeys.kyc) self.output?.submitSuccess() diff --git a/GMERemittance/Module/New Group/Kyc/Module Interface/KycModuleInterface.swift b/GMERemittance/Module/New Group/Kyc/Module Interface/KycModuleInterface.swift index b3bd2407..17ff8f25 100644 --- a/GMERemittance/Module/New Group/Kyc/Module Interface/KycModuleInterface.swift +++ b/GMERemittance/Module/New Group/Kyc/Module Interface/KycModuleInterface.swift @@ -8,4 +8,6 @@ protocol KycModuleInterface: class { func validate(model: KYCRequestModel) + func goHome() + func showPennyTest() } diff --git a/GMERemittance/Module/New Group/Kyc/User Interface/Presenter/KycPresenter.swift b/GMERemittance/Module/New Group/Kyc/User Interface/Presenter/KycPresenter.swift index 676c074f..91346020 100644 --- a/GMERemittance/Module/New Group/Kyc/User Interface/Presenter/KycPresenter.swift +++ b/GMERemittance/Module/New Group/Kyc/User Interface/Presenter/KycPresenter.swift @@ -34,9 +34,19 @@ extension KycPresenter: KycModuleInterface { extension KycPresenter: KycInteractorOutput { func submitSuccess() { + self.view?.showOption() + } + + func goHome() { self.wireframe?.gotToHome() } + func showPennyTest() { + + // TODO: keycresponse is comming from interactor + self.wireframe?.showPennyTest(model: KYCResponse()) + } + func show(result1: (isValid: Bool, errorsDick: [String : String])) { self.view?.hideLoading() self.view?.show(resultl: result1) diff --git a/GMERemittance/Module/New Group/Kyc/User Interface/View/KycViewController.swift b/GMERemittance/Module/New Group/Kyc/User Interface/View/KycViewController.swift index 4900958e..039f2e2b 100644 --- a/GMERemittance/Module/New Group/Kyc/User Interface/View/KycViewController.swift +++ b/GMERemittance/Module/New Group/Kyc/User Interface/View/KycViewController.swift @@ -178,6 +178,15 @@ extension KycViewController: KycViewInterface { } } + func showOption() { + let message = "Would you like to apply for penny test now?" + self.alertWithOkCancel(message: message, title: "Info", okTitle: "Ok", style: UIAlertControllerStyle.alert, cancelTitle: "Cancel", OkStyle: UIAlertActionStyle.default, cancelStyle: UIAlertActionStyle.default, okAction: { + self.presenter?.showPennyTest() + }) { + self.presenter?.goHome() + } + } + func show(error: String) { self.alert(message: error) } diff --git a/GMERemittance/Module/New Group/Kyc/User Interface/View/KycViewInterface.swift b/GMERemittance/Module/New Group/Kyc/User Interface/View/KycViewInterface.swift index 4fac3fca..ea2fc734 100644 --- a/GMERemittance/Module/New Group/Kyc/User Interface/View/KycViewInterface.swift +++ b/GMERemittance/Module/New Group/Kyc/User Interface/View/KycViewInterface.swift @@ -11,6 +11,7 @@ protocol KycViewInterface: class { func show(result2: (isValid: Bool, errorsDick: [String : String])) func show(result3: (isValid: Bool, errorsDick: [String : String])) func show(error: String) + func showOption() func showLoading() func hideLoading() } diff --git a/GMERemittance/Module/New Group/Kyc/User Interface/Wireframe/KycWireframe.swift b/GMERemittance/Module/New Group/Kyc/User Interface/Wireframe/KycWireframe.swift index 3fa05808..ce17ef61 100644 --- a/GMERemittance/Module/New Group/Kyc/User Interface/Wireframe/KycWireframe.swift +++ b/GMERemittance/Module/New Group/Kyc/User Interface/Wireframe/KycWireframe.swift @@ -10,6 +10,7 @@ import UIKit class KycWireframe { weak var view: UIViewController! + lazy var pennytestWireFrame = PennyTestWireframe() } extension KycWireframe: KycWireframeInput { @@ -37,4 +38,11 @@ extension KycWireframe: KycWireframeInput { navigation.popViewController(animated: true) } } + + func showPennyTest(model: KYCResponse) { + if let navigation = self.view.navigationController { + pennytestWireFrame.openPennyTest(with: model, source: navigation) + } + + } } diff --git a/GMERemittance/Module/New Group/Kyc/User Interface/Wireframe/KycWireframeInput.swift b/GMERemittance/Module/New Group/Kyc/User Interface/Wireframe/KycWireframeInput.swift index a8831cf9..9b17f3ce 100644 --- a/GMERemittance/Module/New Group/Kyc/User Interface/Wireframe/KycWireframeInput.swift +++ b/GMERemittance/Module/New Group/Kyc/User Interface/Wireframe/KycWireframeInput.swift @@ -10,4 +10,5 @@ import Foundation protocol KycWireframeInput: WireframeInput { func gotToHome() + func showPennyTest(model: KYCResponse) } diff --git a/GMERemittance/Module/PennyTest/User Interface/Wireframe/PennyTestWireframe.swift b/GMERemittance/Module/PennyTest/User Interface/Wireframe/PennyTestWireframe.swift index 9d124971..dbe48bc8 100644 --- a/GMERemittance/Module/PennyTest/User Interface/Wireframe/PennyTestWireframe.swift +++ b/GMERemittance/Module/PennyTest/User Interface/Wireframe/PennyTestWireframe.swift @@ -10,6 +10,7 @@ import UIKit class PennyTestWireframe { weak var view: UIViewController! + var model: KYCResponse? } extension PennyTestWireframe: PennyTestWireframeInput { @@ -31,4 +32,9 @@ extension PennyTestWireframe: PennyTestWireframeInput { self.view = viewController return viewController } + + func openPennyTest(with model: KYCResponse, source: UINavigationController) { + self.model = model + self.pushMainView(in: source) + } }