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.
 
 
 
 

187 lines
4.8 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 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 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.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"]
}
}