diff --git a/GMERemittance/Model/ResendListModel.swift b/GMERemittance/Model/ResendListModel.swift index 33c2bfbb..3c01d0fb 100644 --- a/GMERemittance/Model/ResendListModel.swift +++ b/GMERemittance/Model/ResendListModel.swift @@ -30,29 +30,47 @@ class ResendListModelContainer: Mappable { class ResendListModel: Mappable { - var user: String? + var account: [Account]? + var transactions: [ResendTransactionModel]? + + required init?(map: Map) {} + + init() {} + + func mapping(map: Map) { + account <- map["Accounts"] + transactions <- map["Transactions"] + + } +} + + + + +class ResendTransactionModel: Mappable { + + var transactionId: String? - var controlNumber: String? - var pAmt: String? - var pCurrency: String? var cCurrency: String? + var pAmt: String? var cAmt: String? - var payStatus: String? - var payOutMode: String? + var pCurrency: String? var sendDate: String? var paidDate: String? - var bankDetail: String? + var controlNumber: String? + var recieverName: String? - required init?(map: Map) { - - } + var payStatus: String? + var payOutMode: String? + + var senderName: String? - init() { - - } + required init?(map: Map) {} + + init() {} func mapping(map: Map) { - user <- map["User"] + transactionId <- map["TranId"] controlNumber <- map["ControlNo"] pAmt <- map["PayoutAmt"] @@ -63,6 +81,6 @@ class ResendListModel: Mappable { payOutMode <- map["PayoutMode"] sendDate <- map["SendDate"] paidDate <- map["PaidDate"] - bankDetail <- map["bankDetail"] + recieverName <- map["ReceiverName"] } } diff --git a/GMERemittance/Module/Resend/Application Logic/Service/ResendServiceType.swift b/GMERemittance/Module/Resend/Application Logic/Service/ResendServiceType.swift index 53e8a446..9b9fa7fb 100644 --- a/GMERemittance/Module/Resend/Application Logic/Service/ResendServiceType.swift +++ b/GMERemittance/Module/Resend/Application Logic/Service/ResendServiceType.swift @@ -20,7 +20,8 @@ protocol FetchResendService: ApiServiceType { extension FetchResendService { func fetchResendService(user: String, param: [String: String]?, success: @escaping (([ResendListModel]) -> ()), failure: @escaping ((Error) -> ())) { - let url = oldBaseUrl + "v1/resend/list" + "\(user)" +// let url = baseUrl + "v1/resend/list/" + "\(user)" + let url = baseUrl + "v1/resend/list" self.auth.request(method: .post, url: url, params: param, success: { (response: ResendListModelContainer) in if (response.errorCode ?? "") == "1" { let error = NSError.init(domain: "Network", code: 0, userInfo: [NSLocalizedDescriptionKey : response.message ?? ""]) diff --git a/GMERemittance/Module/Resend/User Interface/View/ResendViewController.swift b/GMERemittance/Module/Resend/User Interface/View/ResendViewController.swift index 768dd20d..06b7eefd 100644 --- a/GMERemittance/Module/Resend/User Interface/View/ResendViewController.swift +++ b/GMERemittance/Module/Resend/User Interface/View/ResendViewController.swift @@ -10,9 +10,19 @@ import UIKit -class ResendViewController: UIViewController { - +class ResendRequestModel { + var paymemtMode: SendMoneyPayoutMode? + var bank: SendMoneyBank? + var branch: SendMoneyBankBranch? + var accountNumber: String? + var payingAmount: String? + var transactionPassword: String? + var exchangeRateDetail: SendMoneyExchangeRateModel? + var autoDebitAccount: Account? + var reciepient: Recipient? +} +class ResendViewController: UIViewController { struct Constant { static let heightOfDateRangeLabel: CGFloat = 35 @@ -22,9 +32,7 @@ class ResendViewController: UIViewController { let searchPlaceholderText = "search_with_controlno_text".localized() } - - // MARK: IBOutlets @IBOutlet weak var tableView: UITableView! @IBOutlet weak var dateRangeLabelHeightConstraint: NSLayoutConstraint! @@ -38,6 +46,8 @@ class ResendViewController: UIViewController { // MARK: Properties + +// var requestModel = SendMoneyRequestModel? var from: String? @@ -73,7 +83,7 @@ class ResendViewController: UIViewController { super.viewDidLoad() self.setupNormalNavigation() self.setup() - presenter?.viewIsReady() + self.fetchList() } override func viewWillAppear(_ animated: Bool) { @@ -102,18 +112,42 @@ class ResendViewController: UIViewController { // all setup should be done here setupSearchTextField() setupDelegates() - createFakeAccount() +// createFakeAccount() self.dateRangeLabelHeightConstraint.constant = 0 } private func selectedDate(from: String?, to: String?) { self.from = from self.to = to - guard let fromDate = from, let toDate = to else {return} + self.fetchList(fromDate: from, toDate: to) // TODO -// self.presenter?.fetchTransactionHistories(fromDate: fromDate, toDate: toDate) + } + + private func fetchList(fromDate: String? = nil, toDate: String? = nil) { + let userName = Utility.getMyUserName() + var param: [String: String] = [:] + if let fromDate = fromDate { + param["FromDate"] = fromDate + } + if let toDate = toDate { + param["ToDate"] = toDate + } + + self.showLoading() + self.fetchResendService(user: userName, param: param, success: { (models) in + self.hideLoading() + self.models = models + }) { (error) in + self.hideLoading() + self.alert(message: error.localizedDescription) + } + } + + + + private func setupSearchTextField() { searchTextField.placeholder = StringConstants().searchPlaceholderText let imageview = UIImageView(image: #imageLiteral(resourceName: "ic_search")) @@ -140,7 +174,7 @@ class ResendViewController: UIViewController { func selectedAcunt(acunt: Account) { guard let index = self.selectedIndex else {return} - if let navigation = self.navigationController, let reciepient = self.reciepient { + if let navigation = self.navigationController { let wireframe = ResendExchangeWireframe() wireframe.pushMainView(in: navigation) } @@ -198,6 +232,10 @@ extension ResendViewController: UITableViewDataSource { } } +extension ResendViewController: FetchResendService { + +} + extension ResendViewController { func createFakeAccount() { var model1 = ResendListModel() @@ -210,5 +248,11 @@ extension ResendViewController { model1.sendDate = "Tue, 12.7.2019" model1.bankDetail = "GLOBAL BANK PRIAATE LIMITED KATHMANDU" self.models = [model1] + + var account = Account() + account.bankName = "Wallet" + self.accounts = [account] } } + +