// // SendMoneyVerificationInteractor.swift // GMERemittance // // Created by gme_2 on 28/08/2018. //Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved. // import Foundation class SendMoneyVerificationInteractor { // MARK: Properties weak var output: SendMoneyVerificationInteractorOutput? private let service: SendMoneyVerificationServiceType // MARK: Initialization init(service: SendMoneyVerificationServiceType) { self.service = service } // MARK: Converting entities } // MARK: SendMoneyVerification interactor input interface extension SendMoneyVerificationInteractor: SendMoneyVerificationInteractorInput { func submit(model: SendMoneyRequestModel, reciepient: Recipient) { let params = self.getParams(model: model, reciepient: reciepient) self.service.submit(params: params, success: { (response) in self.output?.show(model: response) }) { (error) in self.output?.show(error: error) } } func getParams(model: SendMoneyRequestModel, reciepient: Recipient) -> [String: String] { let _default = UserDefaults.standard guard let username = _default.value(forKey: UserKeys.userId) as? String else {return [:]} let senderId = _default.value(forKey: UserKeys.senderId) as? String let recieverId = reciepient.recipientId let params: [String: String] = [ "user": username, "senderId": senderId ?? "", "receiverId": recieverId ?? "", "deliveryMethodId": model.paymemtMode?.id ?? "", "pBranch": model.branch?.id ?? "", "pAgent": model.bank?.id ?? "", "payOutPartner": model.paymemtMode?.payoutPartner ?? "", "paymentType": "Wallet", "pCurr": model.exchangeRateDetail?.reciepientCurrency ?? "", "collCurr": "KRW", "collAmt": model.exchangeRateDetail?.senderAmount ?? "", "payoutAmt": model.exchangeRateDetail?.recipientAmount ?? "", "transferAmt": model.exchangeRateDetail?.transferFee ?? "", "serviceCharge": model.exchangeRateDetail?.transferFee ?? "", "discount": "", "exRate": model.exchangeRateDetail?.apiExchangeRate ?? "", "calBy": model.exchangeRateDetail?.calcBy ?? "", "tpExRate": model.exchangeRateDetail?.apiExchangeRate ?? "", "tpPCurr": model.exchangeRateDetail?.recipientAmount ?? "", "foreX_SESSION_ID": model.exchangeRateDetail?.forexId ?? "", "purposeOfRemittance": reciepient.reasonId ?? "", "sourceOfFund": "123", "relWithSender": reciepient.relationId ?? "", "occupation": "", "ipAddress": "", "rState": "", "rLocation": "", "isAgreed": "TRUE", "txnPassword": model.transactionPassword ?? "", ] return params } }