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.
190 lines
4.9 KiB
190 lines
4.9 KiB
//
|
|
// Reciepient.swift
|
|
// GMERemittance
|
|
//
|
|
// Created by gme_2 on 26/08/2018.
|
|
// Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
import ObjectMapper
|
|
|
|
protocol Serializer {
|
|
func serialize() -> [String: String]
|
|
}
|
|
|
|
struct RecipientModelFields {
|
|
static let firstName = "FirstName"
|
|
static let middleName = "MiddleName"
|
|
static let lastName = "LastName"
|
|
static let country = "Country"
|
|
static let state = "State"
|
|
static let city = "City"
|
|
static let address = "Address"
|
|
static let district = "District"
|
|
static let relation = "Relation"
|
|
static let mobileNumber = "MobileNo"
|
|
static let email = "Email"
|
|
static let reason = "TransferReason"
|
|
static let id = "Id"
|
|
}
|
|
|
|
|
|
class ReceipientViewModel {
|
|
var id: String?
|
|
var firstName: String?
|
|
var middleName: String?
|
|
var lastName: String?
|
|
var countryId: String?
|
|
var stateId: String?
|
|
var districtId: String?
|
|
var city: String?
|
|
var address: String?
|
|
var relationId: String?
|
|
var mobileNumber: String?
|
|
var email: String?
|
|
var reasonId: String?
|
|
|
|
}
|
|
|
|
struct Recipient: Codable, Mappable {
|
|
var firstName: String?
|
|
var middleName: String?
|
|
var lastName: String?
|
|
var country: String?
|
|
var countryId: String?
|
|
var countryCode: String?
|
|
var state: String?
|
|
var stateId: String?
|
|
var city: String?
|
|
var address: String?
|
|
var district: String?
|
|
var districtId: String?
|
|
var relation: String?
|
|
var relationId: String?
|
|
var mobileNumber: String?
|
|
var email: String?
|
|
var recipientId: String?
|
|
var reason: String?
|
|
var reasonId: String?
|
|
|
|
mutating func mapping(map: Map) {
|
|
firstName <- map["firstName"]
|
|
middleName <- map["middleName"]
|
|
lastName <- map["lastName"]
|
|
country <- map["country"]
|
|
state <- map["state"]
|
|
stateId <- map["stateId"]
|
|
city <- map["city"]
|
|
address <- map["address"]
|
|
district <- map["district"]
|
|
districtId <- map["districtId"]
|
|
relation <- map["relation"]
|
|
relationId <- map["relationId"]
|
|
mobileNumber <- map["mobileNumber"]
|
|
email <- map["email"]
|
|
recipientId <- map["recipientId"]
|
|
reason <- map["reason"]
|
|
reasonId <- map["reasonId"]
|
|
countryId <- map["countryId"]
|
|
countryCode <- map["countryCode"]
|
|
}
|
|
|
|
|
|
|
|
func getFullName() -> String {
|
|
guard middleName != nil else {
|
|
return (firstName ?? "") + " " + (lastName ?? "")
|
|
}
|
|
let _firstName = self.firstName ?? ""
|
|
let _lastName = self.lastName ?? ""
|
|
let _middleName = self.middleName ?? ""
|
|
return _firstName + " " + _middleName + " " + _lastName
|
|
}
|
|
|
|
init?(map: Map) {
|
|
|
|
}
|
|
|
|
init() {
|
|
|
|
}
|
|
}
|
|
|
|
extension Recipient: Serializer {
|
|
func serialize() -> [String : String] {
|
|
var dict: [String: String] = [:]
|
|
dict[RecipientModelFields.firstName] = self.firstName ?? ""
|
|
dict[RecipientModelFields.lastName] = self.lastName ?? ""
|
|
dict[RecipientModelFields.country] = self.countryId ?? ""
|
|
dict[RecipientModelFields.middleName] = self.middleName ?? ""
|
|
dict[RecipientModelFields.state] = self.stateId ?? ""
|
|
dict[RecipientModelFields.district] = self.districtId ?? ""
|
|
dict[RecipientModelFields.city] = self.city ?? ""
|
|
dict[RecipientModelFields.address] = self.address ?? ""
|
|
dict[RecipientModelFields.relation] = self.relationId ?? ""
|
|
dict[RecipientModelFields.mobileNumber] = self.mobileNumber ?? ""
|
|
dict[RecipientModelFields.email] = self.email ?? ""
|
|
dict[RecipientModelFields.reason] = self.reasonId ?? ""
|
|
dict[RecipientModelFields.id] = self.recipientId ?? ""
|
|
return dict
|
|
}
|
|
}
|
|
|
|
|
|
class RecipientContainer: Mappable {
|
|
var errorCode: String?
|
|
var message: String?
|
|
var id: String?
|
|
var data: Recipient?
|
|
|
|
required init?(map: Map) {
|
|
|
|
}
|
|
|
|
func mapping(map: Map) {
|
|
errorCode <- map["ErrorCode"]
|
|
id <- map["Id"]
|
|
message <- map["Msg"]
|
|
data <- map["Data"]
|
|
}
|
|
}
|
|
|
|
|
|
class RecipientListContainer: Mappable {
|
|
var errorCode: String?
|
|
var message: String?
|
|
var id: String?
|
|
var data: RecipientListWrapperContainer?
|
|
|
|
required init?(map: Map) {
|
|
|
|
}
|
|
|
|
func mapping(map: Map) {
|
|
errorCode <- map["ErrorCode"]
|
|
id <- map["Id"]
|
|
message <- map["Msg"]
|
|
data <- map["Data"]
|
|
}
|
|
}
|
|
|
|
class RecipientListWrapperContainer: Mappable {
|
|
var errorCode: String?
|
|
var message: String?
|
|
var id: String?
|
|
var reciepients: [Recipient]?
|
|
var accounts: [Account]?
|
|
|
|
required init?(map: Map) {
|
|
|
|
}
|
|
|
|
func mapping(map: Map) {
|
|
reciepients <- map["Receivers"]
|
|
accounts <- map["AccountList"]
|
|
errorCode <- map["ErrorCode"]
|
|
id <- map["Id"]
|
|
message <- map["Msg"]
|
|
}
|
|
}
|