You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

174 lines
4.3 KiB

  1. //
  2. // RecipientModel.swift
  3. // GME Remit
  4. //
  5. // Created by InKwon James Kim on 16/08/2019.
  6. // Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
  7. //
  8. import ObjectMapper
  9. struct Recipient: Mappable {
  10. var firstName: String?
  11. var middleName: String?
  12. var lastName: String?
  13. var localFirstName: String?
  14. var localMiddleName: String?
  15. var localLastName: String?
  16. var fullName: String?
  17. var localFullName: String?
  18. var paymentMethod: PaymentMethodModel?
  19. var agent: AgentModel?
  20. var receiverID: String?
  21. var country: String?
  22. var countryCode: String?
  23. var countryID: String?
  24. var address: String?
  25. var state: String?
  26. var stateID: String?
  27. var city: String?
  28. var email: String?
  29. var mobile: String?
  30. var relationship: String?
  31. var relationshipID: String?
  32. var district: String?
  33. var districtID: String?
  34. var purposeOfRemit: String?
  35. var purposeOfRemitID: String?
  36. var idType: String?
  37. var idNumber: String?
  38. var payoutPartner: String?
  39. var nativeCountry: String?
  40. var nativeCountryCode: String?
  41. var nativeCountryID: String?
  42. var isPartnerChanged: String?
  43. init?(map: Map) {}
  44. init() {
  45. agent = AgentModel()
  46. paymentMethod = PaymentMethodModel()
  47. }
  48. init(
  49. firstName: String?,
  50. middleName: String?,
  51. lastName: String?,
  52. localFirstName: String?,
  53. localMiddleName: String?,
  54. localLastName: String?,
  55. localFullName: String?,
  56. fullName: String?,
  57. address: String?,
  58. city: String?,
  59. email: String?,
  60. mobile: String?,
  61. idNumber: String?
  62. ) {
  63. self.firstName = firstName
  64. self.middleName = middleName
  65. self.lastName = lastName
  66. self.localFirstName = localFirstName
  67. self.localMiddleName = localMiddleName
  68. self.localLastName = localLastName
  69. self.localFullName = localFullName
  70. self.fullName = fullName
  71. self.address = address
  72. self.city = city
  73. self.email = email
  74. self.mobile = mobile
  75. self.idNumber = idNumber
  76. }
  77. mutating func mapping(map: Map) {
  78. firstName <- map["firstName"]
  79. middleName <- map["middleName"]
  80. lastName <- map["lastName"]
  81. localFirstName <- map["localFirstName"]
  82. localMiddleName <- map["localMiddleName"]
  83. localLastName <- map["localLastName"]
  84. localFullName <- map["localFullName"]
  85. paymentMethod <- map["paymentMethod"]
  86. agent <- map["agent"]
  87. receiverID <- map["receiverId"]
  88. country <- map["country"]
  89. address <- map["address"]
  90. state <- map["state"]
  91. city <- map["city"]
  92. email <- map["email"]
  93. mobile <- map["mobile"]
  94. relationship <- map["relationship"]
  95. district <- map["district"]
  96. purposeOfRemit <- map["purposeOfRemit"]
  97. fullName <- map["fullName"]
  98. idType <- map["idType"]
  99. idNumber <- map["idNumber"]
  100. stateID <- map["stateId"]
  101. countryCode <- map["countryCode"]
  102. countryID <- map["countryId"]
  103. relationshipID <- map["relationshipId"]
  104. districtID <- map["districtId"]
  105. purposeOfRemitID <- map["purposeOfRemitId"]
  106. payoutPartner <- map["payoutPartner"]
  107. nativeCountry <- map["nativeCountry"]
  108. nativeCountryCode <- map["nativeCountryCode"]
  109. nativeCountryID <- map["nativeCountryID"]
  110. isPartnerChanged <- map["isPartnerChanged"]
  111. }
  112. func serialize() -> [String : String] {
  113. return [
  114. "firstName": firstName ?? "",
  115. "middleName": middleName ?? "",
  116. "lastName": lastName ?? "",
  117. "localFirstName": localFirstName ?? "",
  118. "localMiddleName": localMiddleName ?? "",
  119. "localLastName": localLastName ?? "",
  120. "localFullName": localFullName ?? "",
  121. // "paymentMethod": paymentMethod ?? "",
  122. // "agent": agent ?? "",
  123. "receiverId": receiverID ?? "",
  124. "country": country ?? "",
  125. "address": address ?? "",
  126. "state": state ?? "",
  127. "city": city ?? "",
  128. "email": email ?? "",
  129. "mobile": mobile ?? "",
  130. "relationship": relationship ?? "",
  131. "district": district ?? "",
  132. "purposeOfRemit": purposeOfRemit ?? "",
  133. "fullName": fullName ?? "",
  134. "idType": idType ?? "",
  135. "idNumber": idNumber ?? "",
  136. "stateId": stateID ?? "",
  137. "countryCode": countryCode ?? "",
  138. "countryId": countryID ?? "",
  139. "relationshipId": relationshipID ?? "",
  140. "districtId": districtID ?? "",
  141. "purposeOfRemitId": purposeOfRemitID ?? ""
  142. ]
  143. }
  144. }