// // RecipientModel.swift // GME Remit // // Created by InKwon James Kim on 16/08/2019. // Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. // import ObjectMapper struct Recipient: Mappable { var firstName: String? var middleName: String? var lastName: String? var localFirstName: String? var localMiddleName: String? var localLastName: String? var fullName: String? var localFullName: String? var paymentMethod: PaymentMethodModel? var agent: AgentModel? var receiverID: String? var country: String? var countryCode: String? var countryID: String? var address: String? var state: String? var stateID: String? var city: String? var email: String? var mobile: String? var relationship: String? var relationshipID: String? var district: String? var districtID: String? var purposeOfRemit: String? var purposeOfRemitID: String? var idType: String? var idNumber: String? var payoutPartner: String? var nativeCountry: String? var nativeCountryCode: String? var nativeCountryID: String? var isPartnerChanged: String? init?(map: Map) {} init() { agent = AgentModel() paymentMethod = PaymentMethodModel() } init( firstName: String?, middleName: String?, lastName: String?, localFirstName: String?, localMiddleName: String?, localLastName: String?, localFullName: String?, fullName: String?, address: String?, city: String?, email: String?, mobile: String?, idNumber: String? ) { self.firstName = firstName self.middleName = middleName self.lastName = lastName self.localFirstName = localFirstName self.localMiddleName = localMiddleName self.localLastName = localLastName self.localFullName = localFullName self.fullName = fullName self.address = address self.city = city self.email = email self.mobile = mobile self.idNumber = idNumber } mutating func mapping(map: Map) { firstName <- map["firstName"] middleName <- map["middleName"] lastName <- map["lastName"] localFirstName <- map["localFirstName"] localMiddleName <- map["localMiddleName"] localLastName <- map["localLastName"] localFullName <- map["localFullName"] paymentMethod <- map["paymentMethod"] agent <- map["agent"] receiverID <- map["receiverId"] country <- map["country"] address <- map["address"] state <- map["state"] city <- map["city"] email <- map["email"] mobile <- map["mobile"] relationship <- map["relationship"] district <- map["district"] purposeOfRemit <- map["purposeOfRemit"] fullName <- map["fullName"] idType <- map["idType"] idNumber <- map["idNumber"] stateID <- map["stateId"] countryCode <- map["countryCode"] countryID <- map["countryId"] relationshipID <- map["relationshipId"] districtID <- map["districtId"] purposeOfRemitID <- map["purposeOfRemitId"] payoutPartner <- map["payoutPartner"] nativeCountry <- map["nativeCountry"] nativeCountryCode <- map["nativeCountryCode"] nativeCountryID <- map["nativeCountryID"] isPartnerChanged <- map["isPartnerChanged"] } func serialize() -> [String : String] { return [ "firstName": firstName ?? "", "middleName": middleName ?? "", "lastName": lastName ?? "", "localFirstName": localFirstName ?? "", "localMiddleName": localMiddleName ?? "", "localLastName": localLastName ?? "", "localFullName": localFullName ?? "", // "paymentMethod": paymentMethod ?? "", // "agent": agent ?? "", "receiverId": receiverID ?? "", "country": country ?? "", "address": address ?? "", "state": state ?? "", "city": city ?? "", "email": email ?? "", "mobile": mobile ?? "", "relationship": relationship ?? "", "district": district ?? "", "purposeOfRemit": purposeOfRemit ?? "", "fullName": fullName ?? "", "idType": idType ?? "", "idNumber": idNumber ?? "", "stateId": stateID ?? "", "countryCode": countryCode ?? "", "countryId": countryID ?? "", "relationshipId": relationshipID ?? "", "districtId": districtID ?? "", "purposeOfRemitId": purposeOfRemitID ?? "" ] } }