// // 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 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 "1000000" } 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 = "KRW" } 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 } } }