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.
 
 
 
 

337 lines
16 KiB

//
// CountryInfo.swift
// GMERemittance
//
// Created by gme_2 on 22/08/2018.
// Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved.
//
import Foundation
class CountryInfo {
private var flag: [String: UIImage] =
[
"mm": #imageLiteral(resourceName: "flag_myanmar"),
"bs": #imageLiteral(resourceName: "flag_bahamas"),
"bo": #imageLiteral(resourceName: "flag_bolivia"),
"jo": #imageLiteral(resourceName: "flag_jordan"),
"cl": #imageLiteral(resourceName: "flag_chile"),
"fr": #imageLiteral(resourceName: "flag_france"),
"sa": #imageLiteral(resourceName: "flag_saudi_arabia"),
"mu": #imageLiteral(resourceName: "flag_mauritius"),
"kz": #imageLiteral(resourceName: "flag_kazakhstan"),
"tr": #imageLiteral(resourceName: "flag_turkey"),
"sn": #imageLiteral(resourceName: "flag_senegal"),
"hk": #imageLiteral(resourceName: "flag_hong_kong"),
"fj": #imageLiteral(resourceName: "flag_fiji"),
"cz": #imageLiteral(resourceName: "flag_czech_republic"),
"nu": #imageLiteral(resourceName: "flag_niue"),
"jm": #imageLiteral(resourceName: "flag_jamaica"),
"gg": #imageLiteral(resourceName: "flag_guernsey"),
"ph": #imageLiteral(resourceName: "flag_philippines"),
"bv": #imageLiteral(resourceName: "flag_bouvet_island"),
"yt": #imageLiteral(resourceName: "flag_mayotte"),
"bd": #imageLiteral(resourceName: "flag_bangladesh"),
"tj": #imageLiteral(resourceName: "flag_tajikistan"),
"bg": #imageLiteral(resourceName: "flag_bulgaria"),
"hn": #imageLiteral(resourceName: "flag_honduras"),
"bn": #imageLiteral(resourceName: "flag_brunei"),
"gn": #imageLiteral(resourceName: "flag_guinea"),
"ai": #imageLiteral(resourceName: "flag_anguilla"),
"cv": #imageLiteral(resourceName: "flag_cape_verde"),
"et": #imageLiteral(resourceName: "flag_ethiopia"),
"sg": #imageLiteral(resourceName: "flag_singapore"),
"dk": #imageLiteral(resourceName: "flag_denmark"),
"dj": #imageLiteral(resourceName: "flag_djibouti"),
"nr": #imageLiteral(resourceName: "flag_nauru"),
"sb": #imageLiteral(resourceName: "flag_solomon_islands"),
"so": #imageLiteral(resourceName: "flag_somalia"),
"gi": #imageLiteral(resourceName: "flag_gibraltar"),
"gf": #imageLiteral(resourceName: "flag_french_guiana"),
"gh": #imageLiteral(resourceName: "flag_ghana"),
"mt": #imageLiteral(resourceName: "flag_malta"),
"gm": #imageLiteral(resourceName: "flag_gambia"),
"ck": #imageLiteral(resourceName: "flag_cook_islands"),
"sl": #imageLiteral(resourceName: "flag_sierra_leone"),
"li": #imageLiteral(resourceName: "flag_liechtenstein"),
"ls": #imageLiteral(resourceName: "flag_lesotho"),
"fm": #imageLiteral(resourceName: "flag_micronesia"),
"nl": #imageLiteral(resourceName: "flag_netherlands"),
"gd": #imageLiteral(resourceName: "flag_grenada"),
"cx": #imageLiteral(resourceName: "flag_christmas_island"),
"qa": #imageLiteral(resourceName: "flag_qatar"),
"vn": #imageLiteral(resourceName: "flag_vietnam"),
"au": #imageLiteral(resourceName: "flag_australia"),
"la": #imageLiteral(resourceName: "flag_laos"),
"dm": #imageLiteral(resourceName: "flag_dominica"),
"tt": #imageLiteral(resourceName: "flag_trinidad_and_tobago"),
"mq": #imageLiteral(resourceName: "flag_martinique"),
"sv": #imageLiteral(resourceName: "flag_el_salvador"),
"mr": #imageLiteral(resourceName: "flag_mauritania"),
"pw": #imageLiteral(resourceName: "flag_palau"),
"be": #imageLiteral(resourceName: "flag_belgium"),
"ve": #imageLiteral(resourceName: "flag_venezuela"),
"as": #imageLiteral(resourceName: "flag_american_samoa"),
"zm": #imageLiteral(resourceName: "flag_zambia"),
"mx": #imageLiteral(resourceName: "flag_mexico"),
"jp": #imageLiteral(resourceName: "flag_japan"),
"th": #imageLiteral(resourceName: "flag_thailand"),
"za": #imageLiteral(resourceName: "flag_south_africa"),
"tg": #imageLiteral(resourceName: "flag_togo"),
"sr": #imageLiteral(resourceName: "flag_suriname"),
"pf": #imageLiteral(resourceName: "flag_french_polynesia"),
"dz": #imageLiteral(resourceName: "flag_algeria"),
"az": #imageLiteral(resourceName: "flag_azerbaijan"),
"bz": #imageLiteral(resourceName: "flag_belize"),
"at": #imageLiteral(resourceName: "flag_austria"),
"pr": #imageLiteral(resourceName: "flag_puerto_rico"),
"ec": #imageLiteral(resourceName: "flag_ecuador"),
"ws": #imageLiteral(resourceName: "flag_samoa"),
"ag": #imageLiteral(resourceName: "flag_antigua_and_barbuda"),
"ne": #imageLiteral(resourceName: "flag_niger"),
"si": #imageLiteral(resourceName: "flag_slovenia"),
"lr": #imageLiteral(resourceName: "flag_liberia"),
"wf": #imageLiteral(resourceName: "flag_wallis_and_futuna"),
"kg": #imageLiteral(resourceName: "flag_kyrgyzstan"),
"pm": #imageLiteral(resourceName: "flag_saint_pierre_and_miquelon"),
"bi": #imageLiteral(resourceName: "flag_burundi"),
"co": #imageLiteral(resourceName: "flag_colombia"),
"gu": #imageLiteral(resourceName: "flag_guam"),
"bw": #imageLiteral(resourceName: "flag_botswana"),
"sz": #imageLiteral(resourceName: "flag_swaziland"),
"im": #imageLiteral(resourceName: "flag_isle_of_man"),
"je": #imageLiteral(resourceName: "flag_jersey"),
"ki": #imageLiteral(resourceName: "flag_kiribati"),
"cr": #imageLiteral(resourceName: "flag_costa_rica"),
"bb": #imageLiteral(resourceName: "flag_barbados"),
"mn": #imageLiteral(resourceName: "flag_mongolia"),
"to": #imageLiteral(resourceName: "flag_tonga"),
"uk": #imageLiteral(resourceName: "flag_united_kingdom"),
"id": #imageLiteral(resourceName: "flag_indonesia"),
"ua": #imageLiteral(resourceName: "flag_ukraine"),
"kn": #imageLiteral(resourceName: "flag_saint_kitts_and_nevis"),
"gy": #imageLiteral(resourceName: "flag_guyana"),
"cn": #imageLiteral(resourceName: "flag_china"),
"cu": #imageLiteral(resourceName: "flag_cuba"),
"es": #imageLiteral(resourceName: "flag_spain"),
"no": #imageLiteral(resourceName: "flag_norway"),
"ht": #imageLiteral(resourceName: "flag_haiti"),
"al": #imageLiteral(resourceName: "flag_albania"),
"mz": #imageLiteral(resourceName: "flag_mozambique"),
"in": #imageLiteral(resourceName: "flag_india"),
"br": #imageLiteral(resourceName: "flag_brazil"),
"bj": #imageLiteral(resourceName: "flag_benin"),
"se": #imageLiteral(resourceName: "flag_sweden"),
"pe": #imageLiteral(resourceName: "flag_peru"),
"cf": #imageLiteral(resourceName: "flag_central_african_republic"),
"tz": #imageLiteral(resourceName: "flag_tanzania"),
"uy": #imageLiteral(resourceName: "flag_uruguay"),
"vu": #imageLiteral(resourceName: "flag_vanuatu"),
"my": #imageLiteral(resourceName: "flag_malaysia"),
"md": #imageLiteral(resourceName: "flag_moldova"),
"gt": #imageLiteral(resourceName: "flag_guatemala"),
"is": #imageLiteral(resourceName: "flag_iceland"),
"gr": #imageLiteral(resourceName: "flag_greece"),
"tw": #imageLiteral(resourceName: "flag_taiwan"),
"om": #imageLiteral(resourceName: "flag_oman"),
"pt": #imageLiteral(resourceName: "flag_portugal"),
"by": #imageLiteral(resourceName: "flag_belarus"),
"kw": #imageLiteral(resourceName: "flag_kuwait"),
"gl": #imageLiteral(resourceName: "flag_greenland"),
"td": #imageLiteral(resourceName: "flag_chad"),
"na": #imageLiteral(resourceName: "flag_namibia"),
"ee": #imageLiteral(resourceName: "flag_estonia"),
"ms": #imageLiteral(resourceName: "flag_montserrat"),
"mv": #imageLiteral(resourceName: "flag_maldives"),
"af": #imageLiteral(resourceName: "flag_afghanistan"),
"nc": #imageLiteral(resourceName: "flag_new_caledonia"),
"ga": #imageLiteral(resourceName: "flag_gabon"),
"mo": #imageLiteral(resourceName: "flag_macao"),
"ni": #imageLiteral(resourceName: "flag_nicaragua"),
"zw": #imageLiteral(resourceName: "flag_zimbabwe"),
"bm": #imageLiteral(resourceName: "flag_bermuda"),
"rs": #imageLiteral(resourceName: "flag_serbia"),
"cy": #imageLiteral(resourceName: "flag_cyprus"),
"ao": #imageLiteral(resourceName: "flag_angola"),
"py": #imageLiteral(resourceName: "flag_paraguay"),
"tv": #imageLiteral(resourceName: "flag_tuvalu"),
"mc": #imageLiteral(resourceName: "flag_monaco"),
"sm": #imageLiteral(resourceName: "flag_san_marino"),
"er": #imageLiteral(resourceName: "flag_eritrea"),
"bt": #imageLiteral(resourceName: "flag_bhutan"),
"ba": #imageLiteral(resourceName: "flag_bosnia_and_herzegovina"),
"sc": #imageLiteral(resourceName: "flag_seychelles"),
"mg": #imageLiteral(resourceName: "flag_madagascar"),
"st": #imageLiteral(resourceName: "flag_sao_tome_and_principe"),
"eg": #imageLiteral(resourceName: "flag_egypt"),
"ky": #imageLiteral(resourceName: "flag_cayman_islands"),
"ug": #imageLiteral(resourceName: "flag_uganda"),
"sy": #imageLiteral(resourceName: "flag_syria"),
"cm": #imageLiteral(resourceName: "flag_cameroon"),
"aq": #imageLiteral(resourceName: "flag_antarctica"),
"tn": #imageLiteral(resourceName: "flag_tunisia"),
"ge": #imageLiteral(resourceName: "flag_georgia"),
"it": #imageLiteral(resourceName: "flag_italy"),
"gq": #imageLiteral(resourceName: "flag_equatorial_guinea"),
"ca": #imageLiteral(resourceName: "flag_canada"),
"am": #imageLiteral(resourceName: "flag_armenia"),
"rw": #imageLiteral(resourceName: "flag_rwanda"),
"bf": #imageLiteral(resourceName: "flag_burkina_faso"),
"fo": #imageLiteral(resourceName: "flag_faroe_islands"),
"aw": #imageLiteral(resourceName: "flag_aruba"),
"fi": #imageLiteral(resourceName: "flag_finland"),
"lv": #imageLiteral(resourceName: "flag_latvia"),
"lt": #imageLiteral(resourceName: "flag_lithuania"),
"np": #imageLiteral(resourceName: "flag_nepal"),
"pg": #imageLiteral(resourceName: "flag_papua_new_guinea"),
"ad": #imageLiteral(resourceName: "flag_andorra"),
"me": #imageLiteral(resourceName: "flag_montenegro"),
"pa": #imageLiteral(resourceName: "flag_panama"),
"kh": #imageLiteral(resourceName: "flag_cambodia"),
"ma": #imageLiteral(resourceName: "flag_morocco"),
"lb": #imageLiteral(resourceName: "flag_lebanon"),
"tk": #imageLiteral(resourceName: "flag_tokelau"),
"nz": #imageLiteral(resourceName: "flag_new_zealand"),
"sd": #imageLiteral(resourceName: "flag_sudan"),
"hu": #imageLiteral(resourceName: "flag_hungary"),
"iq": #imageLiteral(resourceName: "flag_iraq"),
"hr": #imageLiteral(resourceName: "flag_croatia"),
"ch": #imageLiteral(resourceName: "flag_switzerland"),
"do": #imageLiteral(resourceName: "flag_dominican_republic"),
"mk": #imageLiteral(resourceName: "flag_macedonia"),
"ng": #imageLiteral(resourceName: "flag_nigeria"),
"lu": #imageLiteral(resourceName: "flag_luxembourg"),
"pk": #imageLiteral(resourceName: "flag_pakistan"),
"ro": #imageLiteral(resourceName: "flag_romania"),
"ar": #imageLiteral(resourceName: "flag_argentina"),
"de": #imageLiteral(resourceName: "flag_germany"),
"km": #imageLiteral(resourceName: "flag_comoros"),
"sk": #imageLiteral(resourceName: "flag_slovakia"),
"ke": #imageLiteral(resourceName: "flag_kenya"),
"ml": #imageLiteral(resourceName: "flag_mali"),
"ye": #imageLiteral(resourceName: "flag_yemen"),
"il": #imageLiteral(resourceName: "flag_israel"),
"ae": #imageLiteral(resourceName: "flag_united_arab_emirates"),
"eh": #imageLiteral(resourceName: "flag_western_sahara"),
"io": #imageLiteral(resourceName: "flag_british_indian_ocean_territory"),
"mw": #imageLiteral(resourceName: "flag_malawi"),
"lk": #imageLiteral(resourceName: "flag_sri_lanka"),
"bh": #imageLiteral(resourceName: "flag_bahrain"),
"nf": #imageLiteral(resourceName: "flag_norfolk_island"),
"kr": #imageLiteral(resourceName: "flag_south_korea"),
"uz":#imageLiteral(resourceName: "flag_uzbekistn"),
"ru":#imageLiteral(resourceName: "flag_russia"),
"en": #imageLiteral(resourceName: "flag_united_kingdom")
]
var defaultCountries = [
"Nepal", "Cambodia", "Philipinnes", "Sri Lanka", "Vietnam", "India", "Pakistan", "azerbaijan",
"Bangladesh", "Belarus", "Georgia", "Indonesia", "Kazakhstan", "Kyrgyzstan", "Malaysia", "Moldova",
"Mongolia", "Myanmar", "Russian Federation", "Singapore", "Tajikistan", "Thailand", "Uzbekistan"
]
var defaultCountryCodes = [
"np", "kh", "ph", "lk", "vn", "in", "pk", "az", "bd", "by", "ge", "kz", "kg", "my", "md", "mn", "mm",
"ru", "sg", "tj", "th", "uz", "en"
]
private var defaultSendingAmount: [String: String] =
[
"np" : "100000", // nepal
"kh" : "500", // cambodia
"ph" : "50000", // philipines
"lk" : "100,000", // sri lanka
"vn" : "50000000", // Vietnam
"in" : "50000", // india
"pk" : "100000", // pakistan
"az" : "1000", // azerbaijan
"bd" : "100000", // Bangladesh
"by" : "1000", // Belarus
"ge" : "1000", // Georgia
// "id" : "1000000", // indonesia
"kz" : "1000", // Kazakhstan
"kg" : "1000", // Kyrgyzstan
"my" : "10000", // Malaysia
"md" : "1000", // Moldova
"mn" : "1000", // Mongolia
"mm" : "1500000", // Myanmar
"ru" : "1000", // Russian Federation
"sg" : "2000", // Singapore
"tj" : "1000", // Tajikistan
"th" : "30000", // Thailand
"uz" : "1000", // Uzbekistan
"default": "1000000"
]
private var defaultSendingCurrency: [String: String] =
[
"np" : "NPR", // nepal
"kh" : "USD", // cambodia
"ph" : "PHP", // philipines
"lk" : "LKR", // sri lanka
"vn" : "VND", // vietnam
"in" : "INR", // india
"pk" : "PKR", // pakistan
"az" : "USD", // azerbaijan
"bd" : "USD", // Bangladesh
"by" : "USD", // Belarus
"ge" : "USD", // Georgia
"id" : "IDR", // Indonesia
"kz" : "USD", // Kazakhstan
"kg" : "USD", // Kyrgyzstan
"my" : "MYR", // Malaysia
"md" : "USD", // Moldova
"mn" : "USD", // Mongolia
"mm" : "MMK", // Myanmar
"ru" : "USD", // Russian Federation
"sg" : "SGD", // Singapore
"tj" : "USD", // Tajikistan
"th" : "THB", // Thailand
"uz" : "USD", // Uzbekistan
"default": "KRW"
]
private var secondarySendingCurrency: [String: String] =
[
"vn" : "USD", // vietnam
"mn" : "MNT", // Mongolia
"lk" : "USD" // sri lanka
]
private var secondarySendingAmount: [String: String] =
[
"vn" : "2000", // Vietnam
"lk" : "1000", // sri lanka
"mn" : "2000000" // Mongolia
]
func getFlag(for countryCode: String) -> UIImage? {
return flag[countryCode.lowercased()] ?? nil
}
func getDefaultSendingAmount(for countryCode: String) -> String? {
return defaultSendingAmount[countryCode.lowercased()]
}
func getDefaultSendingCurrency(for countryCode: String) -> String? {
return defaultSendingCurrency[countryCode.lowercased()]
}
func getDefaultSendingMoneyInKoreanWon() -> String? {
return defaultSendingAmount["default"]
}
func doesCountryCodeHasDefined(country: String, currency: String) -> Bool {
return defaultSendingCurrency[country.lowercased()]?.contains(currency) ?? false
}
func doesSecondaryOptiopsHasDefined(country: String, currency: String) -> Bool {
return secondarySendingCurrency[country.lowercased()]?.contains(currency) ?? false
}
func getSecondarySendingAmount(for countryCode: String) -> String? {
return secondarySendingAmount[countryCode.lowercased()]
}
}