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.

728 lines
25 KiB

  1. //
  2. // Country.swift
  3. // GME Remit
  4. //
  5. // Created by InKwon James Kim on 19/07/2019.
  6. // Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
  7. //
  8. import Foundation
  9. enum CountryEnum: String {
  10. case af
  11. case al
  12. case dz
  13. case ad
  14. case ao
  15. case aq
  16. case ar
  17. case am
  18. case aw
  19. case au
  20. case at
  21. case az
  22. case bh
  23. case bd
  24. case by
  25. case be
  26. case bz
  27. case bj
  28. case bt
  29. case bo
  30. case ba
  31. case bw
  32. case br
  33. case bn
  34. case bg
  35. case bf
  36. case mm
  37. case bi
  38. case kh
  39. case cm
  40. case ca
  41. case cv
  42. case cf
  43. case td
  44. case cl
  45. case cn
  46. case cx
  47. case cc
  48. case co
  49. case km
  50. case cg
  51. case cd
  52. case ck
  53. case cr
  54. case hr
  55. case cu
  56. case cy
  57. case cz
  58. case dk
  59. case dj
  60. case tl
  61. case ec
  62. case eg
  63. case sv
  64. case gq
  65. case er
  66. case ee
  67. case et
  68. case fk
  69. case fo
  70. case fj
  71. case fi
  72. case fr
  73. case pf
  74. case ga
  75. case gm
  76. case ge
  77. case de
  78. case gh
  79. case gi
  80. case gr
  81. case gl
  82. case gt
  83. case gn
  84. case gw
  85. case gy
  86. case ht
  87. case hn
  88. case hk
  89. case hu
  90. case `in`
  91. case id
  92. case ir
  93. case iq
  94. case ie
  95. case im
  96. case il
  97. case it
  98. case ci
  99. case jp
  100. case jo
  101. case kz
  102. case ke
  103. case ki
  104. case kw
  105. case kg
  106. case la
  107. case lv
  108. case lb
  109. case ls
  110. case lr
  111. case ly
  112. case li
  113. case lt
  114. case lu
  115. case mo
  116. case mk
  117. case mg
  118. case mw
  119. case my
  120. case mv
  121. case ml
  122. case mt
  123. case mh
  124. case mr
  125. case mu
  126. case yt
  127. case mx
  128. case fm
  129. case md
  130. case mc
  131. case mn
  132. case me
  133. case ma
  134. case mz
  135. case na
  136. case nr
  137. case np
  138. case nl
  139. case nc
  140. case nz
  141. case ni
  142. case ne
  143. case ng
  144. case nu
  145. case kp
  146. case no
  147. case om
  148. case pk
  149. case pw
  150. case pa
  151. case pg
  152. case py
  153. case pe
  154. case ph
  155. case pn
  156. case pl
  157. case pt
  158. case pr
  159. case qa
  160. case ro
  161. case ru
  162. case rw
  163. case bl
  164. case ws
  165. case sm
  166. case st
  167. case sa
  168. case sn
  169. case rs
  170. case sc
  171. case sl
  172. case sg
  173. case sk
  174. case si
  175. case sb
  176. case so
  177. case za
  178. case kr
  179. case es
  180. case lk
  181. case sh
  182. case pm
  183. case sd
  184. case sr
  185. case sz
  186. case se
  187. case ch
  188. case sy
  189. case tw
  190. case tj
  191. case tz
  192. case th
  193. case tg
  194. case tk
  195. case to
  196. case tn
  197. case tr
  198. case tm
  199. case tv
  200. case ae
  201. case ug
  202. case gb
  203. case ua
  204. case uy
  205. case us
  206. case uz
  207. case vu
  208. case va
  209. case ve
  210. case vn
  211. case wf
  212. case ye
  213. case zm
  214. case zw
  215. case en
  216. }
  217. extension CountryEnum {
  218. var phoneCode: String {
  219. var code = ""
  220. switch self {
  221. case .af: code = "+93"
  222. case .al: code = "+355"
  223. case .dz: code = "+213"
  224. case .ad: code = "+376"
  225. case .ao: code = "+244"
  226. case .aq: code = "+672"
  227. case .ar: code = "+54"
  228. case .am: code = "+374"
  229. case .aw: code = "+297"
  230. case .au: code = "+61"
  231. case .at: code = "+43"
  232. case .az: code = "+994"
  233. case .bh: code = "+973"
  234. case .bd: code = "+880"
  235. case .by: code = "+375"
  236. case .be: code = "+32"
  237. case .bz: code = "+501"
  238. case .bj: code = "+229"
  239. case .bt: code = "+975"
  240. case .bo: code = "+591"
  241. case .ba: code = "+387"
  242. case .bw: code = "+267"
  243. case .br: code = "+55"
  244. case .bn: code = "+673"
  245. case .bg: code = "+359"
  246. case .bf: code = "+226"
  247. case .mm: code = "+95"
  248. case .bi: code = "+257"
  249. case .kh: code = "+855"
  250. case .cm: code = "+237"
  251. case .ca: code = "+1"
  252. case .cv: code = "+238"
  253. case .cf: code = "+236"
  254. case .td: code = "+235"
  255. case .cl: code = "+56"
  256. case .cn: code = "+86"
  257. case .cx: code = "+61"
  258. case .cc: code = "+61"
  259. case .co: code = "+57"
  260. case .km: code = "+269"
  261. case .cg: code = "+242"
  262. case .cd: code = "+243"
  263. case .ck: code = "+682"
  264. case .cr: code = "+506"
  265. case .hr: code = "+385"
  266. case .cu: code = "+53"
  267. case .cy: code = "+357"
  268. case .cz: code = "+420"
  269. case .dk: code = "+45"
  270. case .dj: code = "+253"
  271. case .tl: code = "+670"
  272. case .ec: code = "+593"
  273. case .eg: code = "+20"
  274. case .sv: code = "+503"
  275. case .gq: code = "+240"
  276. case .er: code = "+291"
  277. case .ee: code = "+372"
  278. case .et: code = "+251"
  279. case .fk: code = "+500"
  280. case .fo: code = "+298"
  281. case .fj: code = "+679"
  282. case .fi: code = "+358"
  283. case .fr: code = "+33"
  284. case .pf: code = "+689"
  285. case .ga: code = "+241"
  286. case .gm: code = "+220"
  287. case .ge: code = "+995"
  288. case .de: code = "+49"
  289. case .gh: code = "+233"
  290. case .gi: code = "+350"
  291. case .gr: code = "+30"
  292. case .gl: code = "+299"
  293. case .gt: code = "+502"
  294. case .gn: code = "+224"
  295. case .gw: code = "+245"
  296. case .gy: code = "+592"
  297. case .ht: code = "+509"
  298. case .hn: code = "+504"
  299. case .hk: code = "+852"
  300. case .hu: code = "+36"
  301. case .in: code = "+91"
  302. case .id: code = "+62"
  303. case .ir: code = "+98"
  304. case .iq: code = "+964"
  305. case .ie: code = "+353"
  306. case .im: code = "+44"
  307. case .il: code = "+972"
  308. case .it: code = "+39"
  309. case .ci: code = "+225"
  310. case .jp: code = "+81"
  311. case .jo: code = "+962"
  312. case .kz: code = "+7"
  313. case .ke: code = "+254"
  314. case .ki: code = "+686"
  315. case .kw: code = "+965"
  316. case .kg: code = "+996"
  317. case .la: code = "+856"
  318. case .lv: code = "+371"
  319. case .lb: code = "+961"
  320. case .ls: code = "+266"
  321. case .lr: code = "+231"
  322. case .ly: code = "+218"
  323. case .li: code = "+423"
  324. case .lt: code = "+370"
  325. case .lu: code = "+352"
  326. case .mo: code = "+853"
  327. case .mk: code = "+389"
  328. case .mg: code = "+261"
  329. case .mw: code = "+265"
  330. case .my: code = "+60"
  331. case .mv: code = "+960"
  332. case .ml: code = "+223"
  333. case .mt: code = "+356"
  334. case .mh: code = "+692"
  335. case .mr: code = "+222"
  336. case .mu: code = "+230"
  337. case .yt: code = "+262"
  338. case .mx: code = "+52"
  339. case .fm: code = "+691"
  340. case .md: code = "+373"
  341. case .mc: code = "+377"
  342. case .mn: code = "+976"
  343. case .me: code = "+382"
  344. case .ma: code = "+212"
  345. case .mz: code = "+258"
  346. case .na: code = "+264"
  347. case .nr: code = "+674"
  348. case .np: code = "+977"
  349. case .nl: code = "+31"
  350. case .nc: code = "+687"
  351. case .nz: code = "+64"
  352. case .ni: code = "+505"
  353. case .ne: code = "+227"
  354. case .ng: code = "+234"
  355. case .nu: code = "+683"
  356. case .kp: code = "+850"
  357. case .no: code = "+47"
  358. case .om: code = "+968"
  359. case .pk: code = "+92"
  360. case .pw: code = "+680"
  361. case .pa: code = "+507"
  362. case .pg: code = "+675"
  363. case .py: code = "+595"
  364. case .pe: code = "+51"
  365. case .ph: code = "+63"
  366. case .pn: code = "+870"
  367. case .pl: code = "+48"
  368. case .pt: code = "+351"
  369. case .pr: code = "+1"
  370. case .qa: code = "+974"
  371. case .ro: code = "+40"
  372. case .ru: code = "+7"
  373. case .rw: code = "+250"
  374. case .bl: code = "+590"
  375. case .ws: code = "+685"
  376. case .sm: code = "+378"
  377. case .st: code = "+239"
  378. case .sa: code = "+966"
  379. case .sn: code = "+221"
  380. case .rs: code = "+381"
  381. case .sc: code = "+248"
  382. case .sl: code = "+232"
  383. case .sg: code = "+65"
  384. case .sk: code = "+421"
  385. case .si: code = "+386"
  386. case .sb: code = "+677"
  387. case .so: code = "+252"
  388. case .za: code = "+27"
  389. case .kr: code = "+82"
  390. case .es: code = "+34"
  391. case .lk: code = "+94"
  392. case .sh: code = "+290"
  393. case .pm: code = "+508"
  394. case .sd: code = "+249"
  395. case .sr: code = "+597"
  396. case .sz: code = "+268"
  397. case .se: code = "+46"
  398. case .ch: code = "+41"
  399. case .sy: code = "+963"
  400. case .tw: code = "+886"
  401. case .tj: code = "+992"
  402. case .tz: code = "+255"
  403. case .th: code = "+66"
  404. case .tg: code = "+228"
  405. case .tk: code = "+690"
  406. case .to: code = "+676"
  407. case .tn: code = "+216"
  408. case .tr: code = "+90"
  409. case .tm: code = "+993"
  410. case .tv: code = "+688"
  411. case .ae: code = "+971"
  412. case .ug: code = "+256"
  413. case .gb: code = "+44"
  414. case .ua: code = "+380"
  415. case .uy: code = "+598"
  416. case .us: code = "+1"
  417. case .uz: code = "+998"
  418. case .vu: code = "+678"
  419. case .va: code = "+39"
  420. case .ve: code = "+58"
  421. case .vn: code = "+84"
  422. case .wf: code = "+681"
  423. case .ye: code = "+967"
  424. case .zm: code = "+260"
  425. case .zw: code = "+263"
  426. case .en: code = ""
  427. }
  428. return code
  429. }
  430. }
  431. extension CountryEnum {
  432. var flag: UIImage {
  433. let image: UIImage
  434. switch self {
  435. case .mm: image = #imageLiteral(resourceName: "flag_myanmar")
  436. // case .bs: image = #imageLiteral(resourceName: "flag_bahamas")
  437. case .bo: image = #imageLiteral(resourceName: "flag_bolivia")
  438. case .jo: image = #imageLiteral(resourceName: "flag_jordan")
  439. case .cl: image = #imageLiteral(resourceName: "flag_chile")
  440. case .fr: image = #imageLiteral(resourceName: "flag_france")
  441. case .sa: image = #imageLiteral(resourceName: "flag_saudi_arabia")
  442. case .mu: image = #imageLiteral(resourceName: "flag_mauritius")
  443. case .kz: image = #imageLiteral(resourceName: "flag_kazakhstan")
  444. case .tr: image = #imageLiteral(resourceName: "flag_turkey")
  445. case .sn: image = #imageLiteral(resourceName: "flag_senegal")
  446. case .hk: image = #imageLiteral(resourceName: "flag_hong_kong")
  447. case .fj: image = #imageLiteral(resourceName: "flag_fiji")
  448. case .cz: image = #imageLiteral(resourceName: "flag_czech_republic")
  449. case .nu: image = #imageLiteral(resourceName: "flag_niue")
  450. // case .jm: image = #imageLiteral(resourceName: "flag_jamaica")
  451. // case .gg: image = #imageLiteral(resourceName: "flag_guernsey")
  452. case .ph: image = #imageLiteral(resourceName: "flag_philippines")
  453. // case .bv: image = #imageLiteral(resourceName: "flag_bouvet_island")
  454. case .yt: image = #imageLiteral(resourceName: "flag_mayotte")
  455. case .bd: image = #imageLiteral(resourceName: "flag_bangladesh")
  456. case .tj: image = #imageLiteral(resourceName: "flag_tajikistan")
  457. case .bg: image = #imageLiteral(resourceName: "flag_bulgaria")
  458. case .hn: image = #imageLiteral(resourceName: "flag_honduras")
  459. case .bn: image = #imageLiteral(resourceName: "flag_brunei")
  460. case .gn: image = #imageLiteral(resourceName: "flag_guinea")
  461. // case .ai: image = #imageLiteral(resourceName: "flag_anguilla")
  462. case .cv: image = #imageLiteral(resourceName: "flag_cape_verde")
  463. case .et: image = #imageLiteral(resourceName: "flag_ethiopia")
  464. case .sg: image = #imageLiteral(resourceName: "flag_singapore")
  465. case .dk: image = #imageLiteral(resourceName: "flag_denmark")
  466. case .dj: image = #imageLiteral(resourceName: "flag_djibouti")
  467. case .nr: image = #imageLiteral(resourceName: "flag_nauru")
  468. case .sb: image = #imageLiteral(resourceName: "flag_solomon_islands")
  469. case .so: image = #imageLiteral(resourceName: "flag_somalia")
  470. case .gi: image = #imageLiteral(resourceName: "flag_gibraltar")
  471. // case .gf: image = #imageLiteral(resourceName: "flag_french_guiana")
  472. case .gh: image = #imageLiteral(resourceName: "flag_ghana")
  473. case .mt: image = #imageLiteral(resourceName: "flag_malta")
  474. case .gm: image = #imageLiteral(resourceName: "flag_gambia")
  475. case .ck: image = #imageLiteral(resourceName: "flag_cook_islands")
  476. case .sl: image = #imageLiteral(resourceName: "flag_sierra_leone")
  477. case .li: image = #imageLiteral(resourceName: "flag_liechtenstein")
  478. case .ls: image = #imageLiteral(resourceName: "flag_lesotho")
  479. case .fm: image = #imageLiteral(resourceName: "flag_micronesia")
  480. case .nl: image = #imageLiteral(resourceName: "flag_netherlands")
  481. // case .gd: image = #imageLiteral(resourceName: "flag_grenada")
  482. case .cx: image = #imageLiteral(resourceName: "flag_christmas_island")
  483. case .qa: image = #imageLiteral(resourceName: "flag_qatar")
  484. case .vn: image = #imageLiteral(resourceName: "flag_vietnam")
  485. case .au: image = #imageLiteral(resourceName: "flag_australia")
  486. case .la: image = #imageLiteral(resourceName: "flag_laos")
  487. // case .dm: image = #imageLiteral(resourceName: "flag_dominica")
  488. // case .tt: image = #imageLiteral(resourceName: "flag_trinidad_and_tobago")
  489. // case .mq: image = #imageLiteral(resourceName: "flag_martinique")
  490. case .sv: image = #imageLiteral(resourceName: "flag_el_salvador")
  491. case .mr: image = #imageLiteral(resourceName: "flag_mauritania")
  492. case .pw: image = #imageLiteral(resourceName: "flag_palau")
  493. case .be: image = #imageLiteral(resourceName: "flag_belgium")
  494. case .ve: image = #imageLiteral(resourceName: "flag_venezuela")
  495. // case .as: image = #imageLiteral(resourceName: "flag_american_samoa")
  496. case .zm: image = #imageLiteral(resourceName: "flag_zambia")
  497. case .mx: image = #imageLiteral(resourceName: "flag_mexico")
  498. case .jp: image = #imageLiteral(resourceName: "flag_japan")
  499. case .th: image = #imageLiteral(resourceName: "flag_thailand")
  500. case .za: image = #imageLiteral(resourceName: "flag_south_africa")
  501. case .tg: image = #imageLiteral(resourceName: "flag_togo")
  502. case .sr: image = #imageLiteral(resourceName: "flag_suriname")
  503. case .pf: image = #imageLiteral(resourceName: "flag_french_polynesia")
  504. case .dz: image = #imageLiteral(resourceName: "flag_algeria")
  505. case .az: image = #imageLiteral(resourceName: "flag_azerbaijan")
  506. case .bz: image = #imageLiteral(resourceName: "flag_belize")
  507. case .at: image = #imageLiteral(resourceName: "flag_austria")
  508. case .pr: image = #imageLiteral(resourceName: "flag_puerto_rico")
  509. case .ec: image = #imageLiteral(resourceName: "flag_ecuador")
  510. case .ws: image = #imageLiteral(resourceName: "flag_samoa")
  511. // case .ag: image = #imageLiteral(resourceName: "flag_antigua_and_barbuda")
  512. case .ne: image = #imageLiteral(resourceName: "flag_niger")
  513. case .si: image = #imageLiteral(resourceName: "flag_slovenia")
  514. case .lr: image = #imageLiteral(resourceName: "flag_liberia")
  515. case .wf: image = #imageLiteral(resourceName: "flag_wallis_and_futuna")
  516. case .kg: image = #imageLiteral(resourceName: "flag_kyrgyzstan")
  517. case .pm: image = #imageLiteral(resourceName: "flag_saint_pierre_and_miquelon")
  518. case .bi: image = #imageLiteral(resourceName: "flag_burundi")
  519. case .co: image = #imageLiteral(resourceName: "flag_colombia")
  520. // case .gu: image = #imageLiteral(resourceName: "flag_guam")
  521. case .bw: image = #imageLiteral(resourceName: "flag_botswana")
  522. case .sz: image = #imageLiteral(resourceName: "flag_swaziland")
  523. case .im: image = #imageLiteral(resourceName: "flag_isle_of_man")
  524. // case .je: image = #imageLiteral(resourceName: "flag_jersey")
  525. case .ki: image = #imageLiteral(resourceName: "flag_kiribati")
  526. case .cr: image = #imageLiteral(resourceName: "flag_costa_rica")
  527. // case .bb: image = #imageLiteral(resourceName: "flag_barbados")
  528. case .mn: image = #imageLiteral(resourceName: "flag_mongolia")
  529. case .to: image = #imageLiteral(resourceName: "flag_tonga")
  530. // case .uk: image = #imageLiteral(resourceName: "flag_united_kingdom")
  531. case .id: image = #imageLiteral(resourceName: "flag_indonesia")
  532. case .ua: image = #imageLiteral(resourceName: "flag_ukraine")
  533. // case .kn: image = #imageLiteral(resourceName: "flag_saint_kitts_and_nevis")
  534. case .gy: image = #imageLiteral(resourceName: "flag_guyana")
  535. case .cn: image = #imageLiteral(resourceName: "flag_china")
  536. case .cu: image = #imageLiteral(resourceName: "flag_cuba")
  537. case .es: image = #imageLiteral(resourceName: "flag_spain")
  538. case .no: image = #imageLiteral(resourceName: "flag_norway")
  539. case .ht: image = #imageLiteral(resourceName: "flag_haiti")
  540. case .al: image = #imageLiteral(resourceName: "flag_albania")
  541. case .mz: image = #imageLiteral(resourceName: "flag_mozambique")
  542. case .in: image = #imageLiteral(resourceName: "flag_india")
  543. case .br: image = #imageLiteral(resourceName: "flag_brazil")
  544. case .bj: image = #imageLiteral(resourceName: "flag_benin")
  545. case .se: image = #imageLiteral(resourceName: "flag_sweden")
  546. case .pe: image = #imageLiteral(resourceName: "flag_peru")
  547. case .cf: image = #imageLiteral(resourceName: "flag_central_african_republic")
  548. case .tz: image = #imageLiteral(resourceName: "flag_tanzania")
  549. case .uy: image = #imageLiteral(resourceName: "flag_uruguay")
  550. case .vu: image = #imageLiteral(resourceName: "flag_vanuatu")
  551. case .my: image = #imageLiteral(resourceName: "flag_malaysia")
  552. case .md: image = #imageLiteral(resourceName: "flag_moldova")
  553. case .gt: image = #imageLiteral(resourceName: "flag_guatemala")
  554. // case .is: image = #imageLiteral(resourceName: "flag_iceland")
  555. case .gr: image = #imageLiteral(resourceName: "flag_greece")
  556. case .tw: image = #imageLiteral(resourceName: "flag_taiwan")
  557. case .om: image = #imageLiteral(resourceName: "flag_oman")
  558. case .pt: image = #imageLiteral(resourceName: "flag_portugal")
  559. case .by: image = #imageLiteral(resourceName: "flag_belarus")
  560. case .kw: image = #imageLiteral(resourceName: "flag_kuwait")
  561. case .gl: image = #imageLiteral(resourceName: "flag_greenland")
  562. case .td: image = #imageLiteral(resourceName: "flag_chad")
  563. case .na: image = #imageLiteral(resourceName: "flag_namibia")
  564. case .ee: image = #imageLiteral(resourceName: "flag_estonia")
  565. // case .ms: image = #imageLiteral(resourceName: "flag_montserrat")
  566. case .mv: image = #imageLiteral(resourceName: "flag_maldives")
  567. case .af: image = #imageLiteral(resourceName: "flag_afghanistan")
  568. case .nc: image = #imageLiteral(resourceName: "flag_new_caledonia")
  569. case .ga: image = #imageLiteral(resourceName: "flag_gabon")
  570. case .mo: image = #imageLiteral(resourceName: "flag_macao")
  571. case .ni: image = #imageLiteral(resourceName: "flag_nicaragua")
  572. case .zw: image = #imageLiteral(resourceName: "flag_zimbabwe")
  573. // case .bm: image = #imageLiteral(resourceName: "flag_bermuda")
  574. case .rs: image = #imageLiteral(resourceName: "flag_serbia")
  575. case .cy: image = #imageLiteral(resourceName: "flag_cyprus")
  576. case .ao: image = #imageLiteral(resourceName: "flag_angola")
  577. case .py: image = #imageLiteral(resourceName: "flag_paraguay")
  578. case .tv: image = #imageLiteral(resourceName: "flag_tuvalu")
  579. case .mc: image = #imageLiteral(resourceName: "flag_monaco")
  580. case .sm: image = #imageLiteral(resourceName: "flag_san_marino")
  581. case .er: image = #imageLiteral(resourceName: "flag_eritrea")
  582. case .bt: image = #imageLiteral(resourceName: "flag_bhutan")
  583. case .ba: image = #imageLiteral(resourceName: "flag_bosnia_and_herzegovina")
  584. case .sc: image = #imageLiteral(resourceName: "flag_seychelles")
  585. case .mg: image = #imageLiteral(resourceName: "flag_madagascar")
  586. case .st: image = #imageLiteral(resourceName: "flag_sao_tome_and_principe")
  587. case .eg: image = #imageLiteral(resourceName: "flag_egypt")
  588. // case .ky: image = #imageLiteral(resourceName: "flag_cayman_islands")
  589. case .ug: image = #imageLiteral(resourceName: "flag_uganda")
  590. case .sy: image = #imageLiteral(resourceName: "flag_syria")
  591. case .cm: image = #imageLiteral(resourceName: "flag_cameroon")
  592. case .aq: image = #imageLiteral(resourceName: "flag_antarctica")
  593. case .tn: image = #imageLiteral(resourceName: "flag_tunisia")
  594. case .ge: image = #imageLiteral(resourceName: "flag_georgia")
  595. case .it: image = #imageLiteral(resourceName: "flag_italy")
  596. case .gq: image = #imageLiteral(resourceName: "flag_equatorial_guinea")
  597. case .ca: image = #imageLiteral(resourceName: "flag_canada")
  598. case .am: image = #imageLiteral(resourceName: "flag_armenia")
  599. case .rw: image = #imageLiteral(resourceName: "flag_rwanda")
  600. case .bf: image = #imageLiteral(resourceName: "flag_burkina_faso")
  601. case .fo: image = #imageLiteral(resourceName: "flag_faroe_islands")
  602. case .aw: image = #imageLiteral(resourceName: "flag_aruba")
  603. case .fi: image = #imageLiteral(resourceName: "flag_finland")
  604. case .lv: image = #imageLiteral(resourceName: "flag_latvia")
  605. case .lt: image = #imageLiteral(resourceName: "flag_lithuania")
  606. case .np: image = #imageLiteral(resourceName: "flag_nepal")
  607. case .pg: image = #imageLiteral(resourceName: "flag_papua_new_guinea")
  608. case .ad: image = #imageLiteral(resourceName: "flag_andorra")
  609. case .me: image = #imageLiteral(resourceName: "flag_montenegro")
  610. case .pa: image = #imageLiteral(resourceName: "flag_panama")
  611. case .kh: image = #imageLiteral(resourceName: "flag_cambodia")
  612. case .ma: image = #imageLiteral(resourceName: "flag_morocco")
  613. case .lb: image = #imageLiteral(resourceName: "flag_lebanon")
  614. case .tk: image = #imageLiteral(resourceName: "flag_tokelau")
  615. case .nz: image = #imageLiteral(resourceName: "flag_new_zealand")
  616. case .sd: image = #imageLiteral(resourceName: "flag_sudan")
  617. case .hu: image = #imageLiteral(resourceName: "flag_hungary")
  618. case .iq: image = #imageLiteral(resourceName: "flag_iraq")
  619. case .hr: image = #imageLiteral(resourceName: "flag_croatia")
  620. case .ch: image = #imageLiteral(resourceName: "flag_switzerland")
  621. // case .do: image = #imageLiteral(resourceName: "flag_dominican_republic")
  622. case .mk: image = #imageLiteral(resourceName: "flag_macedonia")
  623. case .ng: image = #imageLiteral(resourceName: "flag_nigeria")
  624. case .lu: image = #imageLiteral(resourceName: "flag_luxembourg")
  625. case .pk: image = #imageLiteral(resourceName: "flag_pakistan")
  626. case .ro: image = #imageLiteral(resourceName: "flag_romania")
  627. case .ar: image = #imageLiteral(resourceName: "flag_argentina")
  628. case .de: image = #imageLiteral(resourceName: "flag_germany")
  629. case .km: image = #imageLiteral(resourceName: "flag_comoros")
  630. case .sk: image = #imageLiteral(resourceName: "flag_slovakia")
  631. case .ke: image = #imageLiteral(resourceName: "flag_kenya")
  632. case .ml: image = #imageLiteral(resourceName: "flag_mali")
  633. case .ye: image = #imageLiteral(resourceName: "flag_yemen")
  634. case .il: image = #imageLiteral(resourceName: "flag_israel")
  635. case .ae: image = #imageLiteral(resourceName: "flag_united_arab_emirates")
  636. // case .eh: image = #imageLiteral(resourceName: "flag_western_sahara")
  637. // case .io: image = #imageLiteral(resourceName: "flag_british_indian_ocean_territory")
  638. case .mw: image = #imageLiteral(resourceName: "flag_malawi")
  639. case .lk: image = #imageLiteral(resourceName: "flag_sri_lanka")
  640. case .bh: image = #imageLiteral(resourceName: "flag_bahrain")
  641. // case .nf: image = #imageLiteral(resourceName: "flag_democratic_republic_of_congo")
  642. case .kr: image = #imageLiteral(resourceName: "flag_south_korea")
  643. case .uz: image = #imageLiteral(resourceName: "flag_uzbekistn")
  644. case .ru: image = #imageLiteral(resourceName: "flag_russia")
  645. case .cg: image = #imageLiteral(resourceName: "flag_democratic_republic_of_congo")
  646. case .en: image = #imageLiteral(resourceName: "flag_united_kingdom")
  647. default: image = #imageLiteral(resourceName: "flag_default")
  648. }
  649. return image
  650. }
  651. }
  652. extension CountryEnum {
  653. func getDefaultRecipientAcount(currency: String) -> String? {
  654. let amount: String?
  655. let isUseDefaultAmount = currency == defaultCurrency
  656. switch self {
  657. case .np: amount = isUseDefaultAmount ? "100000" : nil // nepal
  658. case .kh: amount = isUseDefaultAmount ? "500" : nil // cambodia
  659. case .ph: amount = isUseDefaultAmount ? "50000" : nil // philipines
  660. case .lk: amount = isUseDefaultAmount ? "100000" : nil // sri lanka
  661. case .vn: amount = isUseDefaultAmount ? "50000000" : nil // Vietnam
  662. case .in: amount = isUseDefaultAmount ? "50000" : nil // india
  663. case .pk: amount = isUseDefaultAmount ? "100000" : nil // pakistan
  664. case .az: amount = isUseDefaultAmount ? "1000" : nil // azerbaijan
  665. case .bd: amount = isUseDefaultAmount ? "100000" : nil // Bangladesh
  666. case .by: amount = isUseDefaultAmount ? "1000" : nil // Belarus
  667. case .ge: amount = isUseDefaultAmount ? "1000" : nil // Georgia
  668. case .kz: amount = isUseDefaultAmount ? "1000" : nil // Kazakhstan
  669. case .kg: amount = isUseDefaultAmount ? "1000" : nil // Kyrgyzstan
  670. case .my: amount = isUseDefaultAmount ? "10000" : nil // Malaysia
  671. case .md: amount = isUseDefaultAmount ? "1000" : nil // Moldova
  672. case .mn: amount = isUseDefaultAmount ? "1000" : nil // Mongolia
  673. case .mm: amount = isUseDefaultAmount ? "1500000" : nil // Myanmar
  674. case .ru: amount = isUseDefaultAmount ? "1000" : nil // Russian Federation
  675. case .sg: amount = isUseDefaultAmount ? "2000" : nil // Singapore
  676. case .tj: amount = isUseDefaultAmount ? "1000" : nil // Tajikistan
  677. case .th: amount = isUseDefaultAmount ? "30000" : nil // Thailand
  678. case .uz: amount = isUseDefaultAmount ? "1000" : nil // Uzbekistan
  679. default: amount = nil
  680. }
  681. return amount
  682. }
  683. var defaultSenderAmount: String {
  684. return "1000000"
  685. }
  686. private var defaultCurrency: String {
  687. let currency: String
  688. switch self {
  689. case .np: currency = "NPR" // nepal
  690. case .kh: currency = "USD" // cambodia
  691. case .ph: currency = "PHP" // philipines
  692. case .lk: currency = "LKR" // sri lanka
  693. case .vn: currency = "VND" // Vietnam
  694. case .in: currency = "INR" // india
  695. case .pk: currency = "PKR" // pakistan
  696. case .az: currency = "USD" // azerbaijan
  697. case .bd: currency = "USD" // Bangladesh
  698. case .by: currency = "USD" // Belarus
  699. case .ge: currency = "USD" // Georgia
  700. case .kz: currency = "USD" // Kazakhstan
  701. case .kg: currency = "USD" // Kyrgyzstan
  702. case .my: currency = "MYR" // Malaysia
  703. case .md: currency = "USD" // Moldova
  704. case .mn: currency = "USD" // Mongolia
  705. case .mm: currency = "MMK" // Myanmar
  706. case .ru: currency = "USD" // Russian Federation
  707. case .sg: currency = "SGD" // Singapore
  708. case .tj: currency = "USD" // Tajikistan
  709. case .th: currency = "THB" // Thailand
  710. case .uz: currency = "USD" // Uzbekistan
  711. default: currency = "KRW"
  712. }
  713. return currency
  714. }
  715. }