// // SendMoneyPaymentModeModel.swift // GMERemittance // // Created by gme_2 on 28/08/2018. // Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved. // import Foundation import ObjectMapper class SendMoneyPaymentModelContainer: Mappable { var errorCode: String? var message: String? var id: String? var data: SendMoneyPaymentModel? required init?(map: Map) { } func mapping(map: Map) { errorCode <- map["ErrorCode"] message <- map["Msg"] id <- map["Id"] data <- map["Data"] } } class SendMoneyPaymentModel: Mappable { var name: String? var id: String? var code: String? var payoutMode: [SendMoneyPayoutMode]? required init?(map: Map) { } func mapping(map: Map) { name <- map["Name"] id <- map["Id"] code <- map["Code"] payoutMode <- map["PayoutMode"] } } class SendMoneyPayoutMode: Mappable { var id: String? var mode: String? var modeDescription: String? var payoutPartner: String? var payCurrency: [String]? var bankRequired: String? var bankList: [SendMoneyBank]? var accountNumber: String? required init?(map: Map) { } init() {} func mapping(map: Map) { id <- map["Id"] mode <- map["Mode"] modeDescription <- map["ModeDescription"] bankList <- map["BankList"] payoutPartner <- map["PayoutPartner"] payCurrency <- map["PayCurrency"] bankRequired <- map["Bankrequired"] } } class SendMoneyBank: Mappable { var id: String? var name: String? var branchRequired: String? var branches: [SendMoneyBankBranch]? var accountRequired: String? var accountValidationRequired: String? var payCurrency: [String]? var code: String? var payoutPartner: String? var agentCurrency: [String]? init() { } required init?(map: Map) { } func mapping(map: Map) { id <- map["Id"] name <- map["Name"] branchRequired <- map["BranchRequired"] accountRequired <- map["IsAccountRequired"] accountValidationRequired <- map["IsAccountValidation"] payCurrency <- map["PayCurrency"] branches <- map["BranchList"] code <- map["Code"] payoutPartner <- map["PayoutPartner"] agentCurrency <- map["AgentCurrency"] } func toAgentModel() -> AgentModel { let useCurrency = agentCurrency?.count != 0 ? agentCurrency : payCurrency return AgentModel( id: id, name: name, localizedName: nil, branch: nil, accountNumber: nil, currency: useCurrency ) } } extension SendMoneyBank: TablePresenterProtocol { var cellTitle: String? { return name } var cellImage: UIImage? { return nil } } class SendMoneyBankBranch: Mappable { var id: String? var name: String? var localizedName: String? required init?(map: Map) { } init () {} init( id: String?, name: String?, localizedName: String?) { self.id = id self.name = name self.localizedName = localizedName } func mapping(map: Map) { id <- map["Id"] name <- map["Name"] localizedName <- map["localizedName"] } func toBranchModel() -> BranchModel { return BranchModel(id: id, name: name, localizedName: localizedName) } } extension SendMoneyBankBranch: TablePresenterProtocol { var cellTitle: String? { return name } var cellImage: UIImage? { return nil } } class SendMoneyBankBranchContainer: Mappable { var errorCode: String? var message: String? var id: String? var data: [SendMoneyBankBranch]? required init?(map: Map) { } func mapping(map: Map) { errorCode <- map["ErrorCode"] message <- map["Msg"] id <- map["Id"] data <- map["Data"] } }