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.
 
 
 
 

928 lines
34 KiB

//
// Country.swift
// GME Remit
//
// Created by InKwon James Kim on 19/07/2019.
// Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
//
import Foundation
import UIKit
enum CountryEnum: String {
case af
case al
case dz
case ad
case ao
case aq
case ar
case am
case aw
case au
case at
case az
case bh
case bd
case by
case be
case bz
case bj
case bt
case bo
case ba
case bw
case br
case bn
case bg
case bf
case mm
case bi
case kh
case cm
case ca
case cv
case cf
case td
case cl
case cn
case cx
case cc
case co
case km
case cg
case cd
case ck
case cr
case hr
case cu
case cy
case cz
case dk
case dj
case tl
case ec
case eg
case sv
case gq
case er
case ee
case et
case fk
case fo
case fj
case fi
case fr
case pf
case ga
case gm
case ge
case de
case gh
case gi
case gr
case gl
case gt
case gn
case gw
case gy
case ht
case hn
case hk
case hu
case `in`
case id
case ir
case iq
case ie
case im
case il
case it
case ci
case jp
case jo
case kz
case ke
case ki
case kw
case kg
case la
case lv
case lb
case ls
case lr
case ly
case li
case lt
case lu
case mo
case mk
case mg
case mw
case my
case mv
case ml
case mt
case mh
case mr
case mu
case yt
case mx
case fm
case md
case mc
case mn
case me
case ma
case mz
case na
case nr
case np
case nl
case nc
case nz
case ni
case ne
case ng
case nu
case kp
case no
case om
case pk
case pw
case pa
case pg
case py
case pe
case ph
case pn
case pl
case pt
case pr
case qa
case ro
case ru
case rw
case bl
case ws
case sm
case st
case sa
case sn
case rs
case sc
case sl
case sg
case sk
case si
case sb
case so
case za
case kr
case es
case lk
case sh
case pm
case sd
case sr
case sz
case se
case ch
case sy
case tw
case tj
case tz
case th
case tg
case tk
case to
case tn
case tr
case tm
case tv
case ae
case ug
case gb
case ua
case uy
case us
case uz
case vu
case va
case ve
case vn
case wf
case ye
case zm
case zw
case en
}
extension CountryEnum {
var phoneCode: String {
var code = ""
switch self {
case .af: code = "+93"
case .al: code = "+355"
case .dz: code = "+213"
case .ad: code = "+376"
case .ao: code = "+244"
case .aq: code = "+672"
case .ar: code = "+54"
case .am: code = "+374"
case .aw: code = "+297"
case .au: code = "+61"
case .at: code = "+43"
case .az: code = "+994"
case .bh: code = "+973"
case .bd: code = "+880"
case .by: code = "+375"
case .be: code = "+32"
case .bz: code = "+501"
case .bj: code = "+229"
case .bt: code = "+975"
case .bo: code = "+591"
case .ba: code = "+387"
case .bw: code = "+267"
case .br: code = "+55"
case .bn: code = "+673"
case .bg: code = "+359"
case .bf: code = "+226"
case .mm: code = "+95"
case .bi: code = "+257"
case .kh: code = "+855"
case .cm: code = "+237"
case .ca: code = "+1"
case .cv: code = "+238"
case .cf: code = "+236"
case .td: code = "+235"
case .cl: code = "+56"
case .cn: code = "+86"
case .cx: code = "+61"
case .cc: code = "+61"
case .co: code = "+57"
case .km: code = "+269"
case .cg: code = "+242"
case .cd: code = "+243"
case .ck: code = "+682"
case .cr: code = "+506"
case .hr: code = "+385"
case .cu: code = "+53"
case .cy: code = "+357"
case .cz: code = "+420"
case .dk: code = "+45"
case .dj: code = "+253"
case .tl: code = "+670"
case .ec: code = "+593"
case .eg: code = "+20"
case .sv: code = "+503"
case .gq: code = "+240"
case .er: code = "+291"
case .ee: code = "+372"
case .et: code = "+251"
case .fk: code = "+500"
case .fo: code = "+298"
case .fj: code = "+679"
case .fi: code = "+358"
case .fr: code = "+33"
case .pf: code = "+689"
case .ga: code = "+241"
case .gm: code = "+220"
case .ge: code = "+995"
case .de: code = "+49"
case .gh: code = "+233"
case .gi: code = "+350"
case .gr: code = "+30"
case .gl: code = "+299"
case .gt: code = "+502"
case .gn: code = "+224"
case .gw: code = "+245"
case .gy: code = "+592"
case .ht: code = "+509"
case .hn: code = "+504"
case .hk: code = "+852"
case .hu: code = "+36"
case .in: code = "+91"
case .id: code = "+62"
case .ir: code = "+98"
case .iq: code = "+964"
case .ie: code = "+353"
case .im: code = "+44"
case .il: code = "+972"
case .it: code = "+39"
case .ci: code = "+225"
case .jp: code = "+81"
case .jo: code = "+962"
case .kz: code = "+7"
case .ke: code = "+254"
case .ki: code = "+686"
case .kw: code = "+965"
case .kg: code = "+996"
case .la: code = "+856"
case .lv: code = "+371"
case .lb: code = "+961"
case .ls: code = "+266"
case .lr: code = "+231"
case .ly: code = "+218"
case .li: code = "+423"
case .lt: code = "+370"
case .lu: code = "+352"
case .mo: code = "+853"
case .mk: code = "+389"
case .mg: code = "+261"
case .mw: code = "+265"
case .my: code = "+60"
case .mv: code = "+960"
case .ml: code = "+223"
case .mt: code = "+356"
case .mh: code = "+692"
case .mr: code = "+222"
case .mu: code = "+230"
case .yt: code = "+262"
case .mx: code = "+52"
case .fm: code = "+691"
case .md: code = "+373"
case .mc: code = "+377"
case .mn: code = "+976"
case .me: code = "+382"
case .ma: code = "+212"
case .mz: code = "+258"
case .na: code = "+264"
case .nr: code = "+674"
case .np: code = "+977"
case .nl: code = "+31"
case .nc: code = "+687"
case .nz: code = "+64"
case .ni: code = "+505"
case .ne: code = "+227"
case .ng: code = "+234"
case .nu: code = "+683"
case .kp: code = "+850"
case .no: code = "+47"
case .om: code = "+968"
case .pk: code = "+92"
case .pw: code = "+680"
case .pa: code = "+507"
case .pg: code = "+675"
case .py: code = "+595"
case .pe: code = "+51"
case .ph: code = "+63"
case .pn: code = "+870"
case .pl: code = "+48"
case .pt: code = "+351"
case .pr: code = "+1"
case .qa: code = "+974"
case .ro: code = "+40"
case .ru: code = "+7"
case .rw: code = "+250"
case .bl: code = "+590"
case .ws: code = "+685"
case .sm: code = "+378"
case .st: code = "+239"
case .sa: code = "+966"
case .sn: code = "+221"
case .rs: code = "+381"
case .sc: code = "+248"
case .sl: code = "+232"
case .sg: code = "+65"
case .sk: code = "+421"
case .si: code = "+386"
case .sb: code = "+677"
case .so: code = "+252"
case .za: code = "+27"
case .kr: code = "+82"
case .es: code = "+34"
case .lk: code = "+94"
case .sh: code = "+290"
case .pm: code = "+508"
case .sd: code = "+249"
case .sr: code = "+597"
case .sz: code = "+268"
case .se: code = "+46"
case .ch: code = "+41"
case .sy: code = "+963"
case .tw: code = "+886"
case .tj: code = "+992"
case .tz: code = "+255"
case .th: code = "+66"
case .tg: code = "+228"
case .tk: code = "+690"
case .to: code = "+676"
case .tn: code = "+216"
case .tr: code = "+90"
case .tm: code = "+993"
case .tv: code = "+688"
case .ae: code = "+971"
case .ug: code = "+256"
case .gb: code = "+44"
case .ua: code = "+380"
case .uy: code = "+598"
case .us: code = "+1"
case .uz: code = "+998"
case .vu: code = "+678"
case .va: code = "+39"
case .ve: code = "+58"
case .vn: code = "+84"
case .wf: code = "+681"
case .ye: code = "+967"
case .zm: code = "+260"
case .zw: code = "+263"
case .en: code = ""
}
return code
}
}
extension CountryEnum {
var flag: UIImage {
let image: UIImage
switch self {
case .mm: image = #imageLiteral(resourceName: "flag_myanmar")
// case .bs: image = #imageLiteral(resourceName: "flag_bahamas")
case .bo: image = #imageLiteral(resourceName: "flag_bolivia")
case .jo: image = #imageLiteral(resourceName: "flag_jordan")
case .cl: image = #imageLiteral(resourceName: "flag_chile")
case .fr: image = #imageLiteral(resourceName: "flag_france")
case .sa: image = #imageLiteral(resourceName: "flag_saudi_arabia")
case .mu: image = #imageLiteral(resourceName: "flag_mauritius")
case .kz: image = #imageLiteral(resourceName: "flag_kazakhstan")
case .tr: image = #imageLiteral(resourceName: "flag_turkey")
case .sn: image = #imageLiteral(resourceName: "flag_senegal")
case .hk: image = #imageLiteral(resourceName: "flag_hong_kong")
case .fj: image = #imageLiteral(resourceName: "flag_fiji")
case .cz: image = #imageLiteral(resourceName: "flag_czech_republic")
case .nu: image = #imageLiteral(resourceName: "flag_niue")
// case .jm: image = #imageLiteral(resourceName: "flag_jamaica")
// case .gg: image = #imageLiteral(resourceName: "flag_guernsey")
case .ph: image = #imageLiteral(resourceName: "flag_philippines")
// case .bv: image = #imageLiteral(resourceName: "flag_bouvet_island")
case .yt: image = #imageLiteral(resourceName: "flag_mayotte")
case .bd: image = #imageLiteral(resourceName: "flag_bangladesh")
case .tj: image = #imageLiteral(resourceName: "flag_tajikistan")
case .bg: image = #imageLiteral(resourceName: "flag_bulgaria")
case .hn: image = #imageLiteral(resourceName: "flag_honduras")
case .bn: image = #imageLiteral(resourceName: "flag_brunei")
case .gn: image = #imageLiteral(resourceName: "flag_guinea")
// case .ai: image = #imageLiteral(resourceName: "flag_anguilla")
case .cv: image = #imageLiteral(resourceName: "flag_cape_verde")
case .et: image = #imageLiteral(resourceName: "flag_ethiopia")
case .sg: image = #imageLiteral(resourceName: "flag_singapore")
case .dk: image = #imageLiteral(resourceName: "flag_denmark")
case .dj: image = #imageLiteral(resourceName: "flag_djibouti")
case .nr: image = #imageLiteral(resourceName: "flag_nauru")
case .sb: image = #imageLiteral(resourceName: "flag_solomon_islands")
case .so: image = #imageLiteral(resourceName: "flag_somalia")
case .gi: image = #imageLiteral(resourceName: "flag_gibraltar")
// case .gf: image = #imageLiteral(resourceName: "flag_french_guiana")
case .gh: image = #imageLiteral(resourceName: "flag_ghana")
case .mt: image = #imageLiteral(resourceName: "flag_malta")
case .gm: image = #imageLiteral(resourceName: "flag_gambia")
case .ck: image = #imageLiteral(resourceName: "flag_cook_islands")
case .sl: image = #imageLiteral(resourceName: "flag_sierra_leone")
case .li: image = #imageLiteral(resourceName: "flag_liechtenstein")
case .ls: image = #imageLiteral(resourceName: "flag_lesotho")
case .fm: image = #imageLiteral(resourceName: "flag_micronesia")
case .nl: image = #imageLiteral(resourceName: "flag_netherlands")
// case .gd: image = #imageLiteral(resourceName: "flag_grenada")
case .cx: image = #imageLiteral(resourceName: "flag_christmas_island")
case .qa: image = #imageLiteral(resourceName: "flag_qatar")
case .vn: image = #imageLiteral(resourceName: "flag_vietnam")
case .au: image = #imageLiteral(resourceName: "flag_australia")
case .la: image = #imageLiteral(resourceName: "flag_laos")
// case .dm: image = #imageLiteral(resourceName: "flag_dominica")
// case .tt: image = #imageLiteral(resourceName: "flag_trinidad_and_tobago")
// case .mq: image = #imageLiteral(resourceName: "flag_martinique")
case .sv: image = #imageLiteral(resourceName: "flag_el_salvador")
case .mr: image = #imageLiteral(resourceName: "flag_mauritania")
case .pw: image = #imageLiteral(resourceName: "flag_palau")
case .be: image = #imageLiteral(resourceName: "flag_belgium")
case .ve: image = #imageLiteral(resourceName: "flag_venezuela")
// case .as: image = #imageLiteral(resourceName: "flag_american_samoa")
case .zm: image = #imageLiteral(resourceName: "flag_zambia")
case .mx: image = #imageLiteral(resourceName: "flag_mexico")
case .jp: image = #imageLiteral(resourceName: "flag_japan")
case .th: image = #imageLiteral(resourceName: "flag_thailand")
case .za: image = #imageLiteral(resourceName: "flag_south_africa")
case .tg: image = #imageLiteral(resourceName: "flag_togo")
case .sr: image = #imageLiteral(resourceName: "flag_suriname")
case .pf: image = #imageLiteral(resourceName: "flag_french_polynesia")
case .dz: image = #imageLiteral(resourceName: "flag_algeria")
case .az: image = #imageLiteral(resourceName: "flag_azerbaijan")
case .bz: image = #imageLiteral(resourceName: "flag_belize")
case .at: image = #imageLiteral(resourceName: "flag_austria")
case .pr: image = #imageLiteral(resourceName: "flag_puerto_rico")
case .ec: image = #imageLiteral(resourceName: "flag_ecuador")
case .ws: image = #imageLiteral(resourceName: "flag_samoa")
// case .ag: image = #imageLiteral(resourceName: "flag_antigua_and_barbuda")
case .ne: image = #imageLiteral(resourceName: "flag_niger")
case .si: image = #imageLiteral(resourceName: "flag_slovenia")
case .lr: image = #imageLiteral(resourceName: "flag_liberia")
case .wf: image = #imageLiteral(resourceName: "flag_wallis_and_futuna")
case .kg: image = #imageLiteral(resourceName: "flag_kyrgyzstan")
case .pm: image = #imageLiteral(resourceName: "flag_saint_pierre_and_miquelon")
case .bi: image = #imageLiteral(resourceName: "flag_burundi")
case .co: image = #imageLiteral(resourceName: "flag_colombia")
// case .gu: image = #imageLiteral(resourceName: "flag_guam")
case .bw: image = #imageLiteral(resourceName: "flag_botswana")
case .sz: image = #imageLiteral(resourceName: "flag_swaziland")
case .im: image = #imageLiteral(resourceName: "flag_isle_of_man")
// case .je: image = #imageLiteral(resourceName: "flag_jersey")
case .ki: image = #imageLiteral(resourceName: "flag_kiribati")
case .cr: image = #imageLiteral(resourceName: "flag_costa_rica")
// case .bb: image = #imageLiteral(resourceName: "flag_barbados")
case .mn: image = #imageLiteral(resourceName: "flag_mongolia")
case .to: image = #imageLiteral(resourceName: "flag_tonga")
// case .uk: image = #imageLiteral(resourceName: "flag_united_kingdom")
case .id: image = #imageLiteral(resourceName: "flag_indonesia")
case .ua: image = #imageLiteral(resourceName: "flag_ukraine")
// case .kn: image = #imageLiteral(resourceName: "flag_saint_kitts_and_nevis")
case .gy: image = #imageLiteral(resourceName: "flag_guyana")
case .cn: image = #imageLiteral(resourceName: "flag_china")
case .cu: image = #imageLiteral(resourceName: "flag_cuba")
case .es: image = #imageLiteral(resourceName: "flag_spain")
case .no: image = #imageLiteral(resourceName: "flag_norway")
case .ht: image = #imageLiteral(resourceName: "flag_haiti")
case .al: image = #imageLiteral(resourceName: "flag_albania")
case .mz: image = #imageLiteral(resourceName: "flag_mozambique")
case .in: image = #imageLiteral(resourceName: "flag_india")
case .br: image = #imageLiteral(resourceName: "flag_brazil")
case .bj: image = #imageLiteral(resourceName: "flag_benin")
case .se: image = #imageLiteral(resourceName: "flag_sweden")
case .pe: image = #imageLiteral(resourceName: "flag_peru")
case .cf: image = #imageLiteral(resourceName: "flag_central_african_republic")
case .tz: image = #imageLiteral(resourceName: "flag_tanzania")
case .uy: image = #imageLiteral(resourceName: "flag_uruguay")
case .vu: image = #imageLiteral(resourceName: "flag_vanuatu")
case .my: image = #imageLiteral(resourceName: "flag_malaysia")
case .md: image = #imageLiteral(resourceName: "flag_moldova")
case .gt: image = #imageLiteral(resourceName: "flag_guatemala")
// case .is: image = #imageLiteral(resourceName: "flag_iceland")
case .gr: image = #imageLiteral(resourceName: "flag_greece")
case .tw: image = #imageLiteral(resourceName: "flag_taiwan")
case .om: image = #imageLiteral(resourceName: "flag_oman")
case .pt: image = #imageLiteral(resourceName: "flag_portugal")
case .by: image = #imageLiteral(resourceName: "flag_belarus")
case .kw: image = #imageLiteral(resourceName: "flag_kuwait")
case .gl: image = #imageLiteral(resourceName: "flag_greenland")
case .td: image = #imageLiteral(resourceName: "flag_chad")
case .na: image = #imageLiteral(resourceName: "flag_namibia")
case .ee: image = #imageLiteral(resourceName: "flag_estonia")
// case .ms: image = #imageLiteral(resourceName: "flag_montserrat")
case .mv: image = #imageLiteral(resourceName: "flag_maldives")
case .af: image = #imageLiteral(resourceName: "flag_afghanistan")
case .nc: image = #imageLiteral(resourceName: "flag_new_caledonia")
case .ga: image = #imageLiteral(resourceName: "flag_gabon")
case .mo: image = #imageLiteral(resourceName: "flag_macao")
case .ni: image = #imageLiteral(resourceName: "flag_nicaragua")
case .zw: image = #imageLiteral(resourceName: "flag_zimbabwe")
// case .bm: image = #imageLiteral(resourceName: "flag_bermuda")
case .rs: image = #imageLiteral(resourceName: "flag_serbia")
case .cy: image = #imageLiteral(resourceName: "flag_cyprus")
case .ao: image = #imageLiteral(resourceName: "flag_angola")
case .py: image = #imageLiteral(resourceName: "flag_paraguay")
case .tv: image = #imageLiteral(resourceName: "flag_tuvalu")
case .mc: image = #imageLiteral(resourceName: "flag_monaco")
case .sm: image = #imageLiteral(resourceName: "flag_san_marino")
case .er: image = #imageLiteral(resourceName: "flag_eritrea")
case .bt: image = #imageLiteral(resourceName: "flag_bhutan")
case .ba: image = #imageLiteral(resourceName: "flag_bosnia_and_herzegovina")
case .sc: image = #imageLiteral(resourceName: "flag_seychelles")
case .mg: image = #imageLiteral(resourceName: "flag_madagascar")
case .st: image = #imageLiteral(resourceName: "flag_sao_tome_and_principe")
case .eg: image = #imageLiteral(resourceName: "flag_egypt")
// case .ky: image = #imageLiteral(resourceName: "flag_cayman_islands")
case .ug: image = #imageLiteral(resourceName: "flag_uganda")
case .sy: image = #imageLiteral(resourceName: "flag_syria")
case .cm: image = #imageLiteral(resourceName: "flag_cameroon")
case .aq: image = #imageLiteral(resourceName: "flag_antarctica")
case .tn: image = #imageLiteral(resourceName: "flag_tunisia")
case .ge: image = #imageLiteral(resourceName: "flag_georgia")
case .it: image = #imageLiteral(resourceName: "flag_italy")
case .gq: image = #imageLiteral(resourceName: "flag_equatorial_guinea")
case .ca: image = #imageLiteral(resourceName: "flag_canada")
case .am: image = #imageLiteral(resourceName: "flag_armenia")
case .rw: image = #imageLiteral(resourceName: "flag_rwanda")
case .bf: image = #imageLiteral(resourceName: "flag_burkina_faso")
case .fo: image = #imageLiteral(resourceName: "flag_faroe_islands")
case .aw: image = #imageLiteral(resourceName: "flag_aruba")
case .fi: image = #imageLiteral(resourceName: "flag_finland")
case .lv: image = #imageLiteral(resourceName: "flag_latvia")
case .lt: image = #imageLiteral(resourceName: "flag_lithuania")
case .np: image = #imageLiteral(resourceName: "flag_nepal")
case .pg: image = #imageLiteral(resourceName: "flag_papua_new_guinea")
case .ad: image = #imageLiteral(resourceName: "flag_andorra")
case .me: image = #imageLiteral(resourceName: "flag_montenegro")
case .pa: image = #imageLiteral(resourceName: "flag_panama")
case .kh: image = #imageLiteral(resourceName: "flag_cambodia")
case .ma: image = #imageLiteral(resourceName: "flag_morocco")
case .lb: image = #imageLiteral(resourceName: "flag_lebanon")
case .tk: image = #imageLiteral(resourceName: "flag_tokelau")
case .nz: image = #imageLiteral(resourceName: "flag_new_zealand")
case .sd: image = #imageLiteral(resourceName: "flag_sudan")
case .hu: image = #imageLiteral(resourceName: "flag_hungary")
case .iq: image = #imageLiteral(resourceName: "flag_iraq")
case .hr: image = #imageLiteral(resourceName: "flag_croatia")
case .ch: image = #imageLiteral(resourceName: "flag_switzerland")
// case .do: image = #imageLiteral(resourceName: "flag_dominican_republic")
case .mk: image = #imageLiteral(resourceName: "flag_macedonia")
case .ng: image = #imageLiteral(resourceName: "flag_nigeria")
case .lu: image = #imageLiteral(resourceName: "flag_luxembourg")
case .pk: image = #imageLiteral(resourceName: "flag_pakistan")
case .ro: image = #imageLiteral(resourceName: "flag_romania")
case .ar: image = #imageLiteral(resourceName: "flag_argentina")
case .de: image = #imageLiteral(resourceName: "flag_germany")
case .km: image = #imageLiteral(resourceName: "flag_comoros")
case .sk: image = #imageLiteral(resourceName: "flag_slovakia")
case .ke: image = #imageLiteral(resourceName: "flag_kenya")
case .ml: image = #imageLiteral(resourceName: "flag_mali")
case .ye: image = #imageLiteral(resourceName: "flag_yemen")
case .il: image = #imageLiteral(resourceName: "flag_israel")
case .ae: image = #imageLiteral(resourceName: "flag_united_arab_emirates")
// case .eh: image = #imageLiteral(resourceName: "flag_western_sahara")
// case .io: image = #imageLiteral(resourceName: "flag_british_indian_ocean_territory")
case .mw: image = #imageLiteral(resourceName: "flag_malawi")
case .lk: image = #imageLiteral(resourceName: "flag_sri_lanka")
case .bh: image = #imageLiteral(resourceName: "flag_bahrain")
// case .nf: image = #imageLiteral(resourceName: "flag_democratic_republic_of_congo")
case .kr: image = #imageLiteral(resourceName: "flag_south_korea")
case .uz: image = #imageLiteral(resourceName: "flag_uzbekistn")
case .ru: image = #imageLiteral(resourceName: "flag_russia")
case .cg: image = #imageLiteral(resourceName: "flag_republic_of_congo")
case .cd: image = #imageLiteral(resourceName: "flag_democratic_republic_of_congo")
case .en: image = #imageLiteral(resourceName: "flag_united_kingdom")
default: image = #imageLiteral(resourceName: "flag_default")
}
return image
}
}
extension CountryEnum {
func getDefaultRecipientAcount(currency: String) -> String? {
let amount: String?
let isUseDefaultAmount = currency == defaultCurrency
switch self {
case .np: amount = isUseDefaultAmount ? "100000" : nil // nepal
case .kh: amount = isUseDefaultAmount ? "500" : nil // cambodia
case .ph: amount = isUseDefaultAmount ? "50000" : nil // philipines
// case .lk: amount = isUseDefaultAmount ? "100000" : nil // sri lanka
case .vn: amount = isUseDefaultAmount ? "50000000" : nil // Vietnam
case .in: amount = isUseDefaultAmount ? "50000" : nil // india
case .pk: amount = isUseDefaultAmount ? "100000" : nil // pakistan
case .az: amount = isUseDefaultAmount ? "1000" : nil // azerbaijan
case .bd: amount = isUseDefaultAmount ? "100000" : nil // Bangladesh
case .by: amount = isUseDefaultAmount ? "1000" : nil // Belarus
case .ge: amount = isUseDefaultAmount ? "1000" : nil // Georgia
case .kz: amount = isUseDefaultAmount ? "1000" : nil // Kazakhstan
case .kg: amount = isUseDefaultAmount ? "1000" : nil // Kyrgyzstan
case .my: amount = isUseDefaultAmount ? "10000" : nil // Malaysia
case .md: amount = isUseDefaultAmount ? "1000" : nil // Moldova
case .mn: amount = isUseDefaultAmount ? "1000" : nil // Mongolia
case .mm: amount = isUseDefaultAmount ? "1500000" : nil // Myanmar
case .ru: amount = isUseDefaultAmount ? "1000" : nil // Russian Federation
case .sg: amount = isUseDefaultAmount ? "2000" : nil // Singapore
case .tj: amount = isUseDefaultAmount ? "1000" : nil // Tajikistan
case .th: amount = isUseDefaultAmount ? "30000" : nil // Thailand
case .uz: amount = isUseDefaultAmount ? "1000000" : nil // Uzbekistan
case .ua: amount = isUseDefaultAmount ? "1000" : nil // Ukraine
default: amount = nil
}
return amount
}
var defaultSenderAmount: String {
return "100000"
}
private var defaultCurrency: String {
let currency: String
switch self {
case .np: currency = "NPR" // nepal
case .kh: currency = "USD" // cambodia
case .ph: currency = "PHP" // philipines
case .lk: currency = "LKR" // sri lanka
case .vn: currency = "VND" // Vietnam
case .in: currency = "INR" // india
case .pk: currency = "PKR" // pakistan
case .az: currency = "USD" // azerbaijan
case .bd: currency = "USD" // Bangladesh
case .by: currency = "USD" // Belarus
case .ge: currency = "USD" // Georgia
case .kz: currency = "USD" // Kazakhstan
case .kg: currency = "USD" // Kyrgyzstan
case .my: currency = "MYR" // Malaysia
case .md: currency = "USD" // Moldova
case .mn: currency = "USD" // Mongolia
case .mm: currency = "MMK" // Myanmar
case .ru: currency = "USD" // Russian Federation
case .sg: currency = "SGD" // Singapore
case .tj: currency = "USD" // Tajikistan
case .th: currency = "THB" // Thailand
case .uz: currency = "UZS" // Uzbekistan
case .ua: currency = "USD" // Ukraine
default: currency = "MNT"
}
return currency
}
static func getCode(from name: String) -> CountryEnum {
switch name {
case "Afghanistan": return CountryEnum.af
case "Albania": return CountryEnum.al
case "Algeria": return CountryEnum.dz
case "Andorra": return CountryEnum.ad
case "Angola": return CountryEnum.ao
case "Antarctica": return CountryEnum.aq
case "Argentina": return CountryEnum.ar
case "Armenia": return CountryEnum.am
case "Australia": return CountryEnum.au
case "Austria": return CountryEnum.at
case "Azerbaijan": return CountryEnum.az
case "Bahrain": return CountryEnum.bh
case "Bangladesh": return CountryEnum.bd
case "Belarus": return CountryEnum.by
case "Belgium": return CountryEnum.be
case "Belize": return CountryEnum.bz
case "Benin": return CountryEnum.bj
case "Bhutan": return CountryEnum.bt
case "Bolivia": return CountryEnum.bo
case "Bosnia": return CountryEnum.ba
case "Botswana": return CountryEnum.bw
case "Brazil": return CountryEnum.br
case "Brunei": return CountryEnum.bn
case "Bulgaria": return CountryEnum.bg
case "Burkina Faso": return CountryEnum.bf
case "Myanmar": return CountryEnum.mm
case "Burundi": return CountryEnum.bi
case "Cambodia": return CountryEnum.kh
case "Cameroon": return CountryEnum.cm
case "Canada": return CountryEnum.ca
case "Cape Verde": return CountryEnum.cv
case "Central African Republic": return CountryEnum.cf
case "Chad": return CountryEnum.td
case "Chile": return CountryEnum.cl
case "China": return CountryEnum.cn
case "Christmas Island": return CountryEnum.cx
case "Cocos Islands": return CountryEnum.cc
case "Colombia": return CountryEnum.co
case "Comoros": return CountryEnum.km
case "Mayotte": return CountryEnum.km
case "Congo": return CountryEnum.cg
case "Costa Rica": return CountryEnum.cr
case "Croatia": return CountryEnum.hr
case "Cuba": return CountryEnum.cu
case "Cypress": return CountryEnum.cy
case "Czech Republic": return CountryEnum.cz
case "Denmark": return CountryEnum.dk
case "Djibouti": return CountryEnum.dj
case "East Timor": return CountryEnum.tl
case "Ecuador": return CountryEnum.ec
case "Egypt": return CountryEnum.eg
case "El Salvador": return CountryEnum.sv
case "Equatorial Guinea": return CountryEnum.gq
case "Eritrea": return CountryEnum.er
case "Estonia": return CountryEnum.ee
case "Ethiopia": return CountryEnum.et
case "Faroe Islands": return CountryEnum.fo
case "Fiji": return CountryEnum.fj
case "Finland": return CountryEnum.fi
case "France": return CountryEnum.fr
case "Gabon": return CountryEnum.ga
case "Gambia": return CountryEnum.gm
case "Georgia": return CountryEnum.ge
case "Germany": return CountryEnum.de
case "Ghana": return CountryEnum.gh
case "Gibraltar": return CountryEnum.gi
case "Greece": return CountryEnum.gr
case "Greenland": return CountryEnum.gl
case "Guatemala": return CountryEnum.gt
case "Guinea": return CountryEnum.gn
case "Guinea-Bissau": return CountryEnum.gw
case "Guyana": return CountryEnum.gy
case "Haiti": return CountryEnum.ht
case "Honduras": return CountryEnum.hn
case "Hong Kong": return CountryEnum.hk
case "Hungary": return CountryEnum.hu
case "India": return CountryEnum.in
case "Indonesia": return CountryEnum.id
case "Iran": return CountryEnum.ir
case "Iraq": return CountryEnum.iq
case "Ireland": return CountryEnum.ie
case "Isle of Man": return CountryEnum.im
case "Israel": return CountryEnum.il
case "Italy": return CountryEnum.it
case "Japan": return CountryEnum.jp
case "Jordan": return CountryEnum.jo
case "Kazakhstan": return CountryEnum.kz
case "Kenya": return CountryEnum.ke
case "Kiribati": return CountryEnum.ki
case "Kuwait": return CountryEnum.kw
case "Kyrgyzstan": return CountryEnum.kg
case "Laos": return CountryEnum.la
case "Latvia": return CountryEnum.lv
case "Lebanon": return CountryEnum.lb
case "Lesotho": return CountryEnum.ls
case "Liberia": return CountryEnum.lr
case "Libya": return CountryEnum.ly
case "Liechtenstein": return CountryEnum.li
case "Lithuania": return CountryEnum.lt
case "Luxembourg": return CountryEnum.lu
case "Macau": return CountryEnum.mo
case "Macedonia": return CountryEnum.mk
case "Madagascar": return CountryEnum.mg
case "Malawi": return CountryEnum.mw
case "Malaysia": return CountryEnum.my
case "Maldives": return CountryEnum.mv
case "Mali": return CountryEnum.ml
case "Malta": return CountryEnum.mt
case "Marshall Islands": return CountryEnum.mh
case "Mauritanian": return CountryEnum.mr
case "Mauritius": return CountryEnum.mu
case "Reunion island": return CountryEnum.yt
case "Mexico": return CountryEnum.mx
case "Micronesia": return CountryEnum.fm
case "Moldova": return CountryEnum.md
case "Monaco": return CountryEnum.mc
case "Mongolia": return CountryEnum.mn
case "Morocco": return CountryEnum.ma
case "Mozambique": return CountryEnum.mz
case "Namibia": return CountryEnum.na
case "Nepal": return CountryEnum.np
case "Netherlands": return CountryEnum.nl
case "New Caledonia": return CountryEnum.nc
case "New Zealand": return CountryEnum.nz
case "Nicaragua": return CountryEnum.ni
case "Niger": return CountryEnum.ne
case "Nigeria": return CountryEnum.ng
case "Niue Island": return CountryEnum.nu
case "Norway": return CountryEnum.no
case "Oman": return CountryEnum.om
case "Pakistan": return CountryEnum.pk
case "Palau": return CountryEnum.pw
case "Panama": return CountryEnum.pa
case "Papua New Guinea": return CountryEnum.pg
case "Paraguay": return CountryEnum.py
case "Peru": return CountryEnum.pe
case "Philippines": return CountryEnum.ph
case "Poland": return CountryEnum.pl
case "Portugal": return CountryEnum.pt
case "Puerto Rico": return CountryEnum.pr
case "Qatar": return CountryEnum.qa
case "Romania": return CountryEnum.ro
case "Russia": return CountryEnum.ru
case "Rwanda": return CountryEnum.rw
case "Samoa(American)": return CountryEnum.ws
case "Saudi Arabia": return CountryEnum.sa
case "Senegal": return CountryEnum.sn
case "Serbia": return CountryEnum.rs
case "Seychelles": return CountryEnum.sc
case "Sierra Leone": return CountryEnum.sl
case "Singapore": return CountryEnum.sg
case "Slovakia": return CountryEnum.sk
case "Slovenian": return CountryEnum.si
case "Solomon Islands": return CountryEnum.sb
case "Somalia": return CountryEnum.so
case "South Africa": return CountryEnum.za
case "Korea": return CountryEnum.kr
case "Spain": return CountryEnum.es
case "Sri Lanka": return CountryEnum.lk
case "Sudan": return CountryEnum.sd
case "Suriname": return CountryEnum.sr
case "Swaziland": return CountryEnum.sz
case "Sweden": return CountryEnum.se
case "Swiss": return CountryEnum.ch
case "Syria": return CountryEnum.sy
case "Taiwan": return CountryEnum.tw
case "Tajikistan": return CountryEnum.tj
case "Tanzania": return CountryEnum.tz
case "Thailand": return CountryEnum.th
case "Togo": return CountryEnum.tg
case "Tonga": return CountryEnum.to
case "Tunisia": return CountryEnum.tn
case "Turkey": return CountryEnum.tr
case "Turkmenistan": return CountryEnum.tm
case "Tuvalu": return CountryEnum.tv
case "United Arab Emirates": return CountryEnum.ae
case "Uganda": return CountryEnum.ug
case "England": return CountryEnum.gb
case "Ukraine": return CountryEnum.ua
case "Uruguay": return CountryEnum.uy
case "United States": return CountryEnum.us
case "Uzbekistan": return CountryEnum.uz
case "Vanuatu": return CountryEnum.vu
case "Vatican": return CountryEnum.va
case "Venezuela": return CountryEnum.ve
case "Vietnam": return CountryEnum.vn
case "Wallis and Futuna Islands": return CountryEnum.wf
case "Yemen": return CountryEnum.ye
case "Zambia": return CountryEnum.zm
case "Zimbabwe": return CountryEnum.zw
default: return CountryEnum.np
}
}
}