NejCommon.NET/Models/Country.cs
honzapatCZ 77a536ee79 init
2024-09-02 17:30:42 +02:00

1068 lines
23 KiB
C#

using System.Globalization;
using EntityFrameworkCore.Projectables;
using Nager.Country;
namespace NejCommon.Models
{
/// <summary>
/// Gets or Sets Country
/// </summary>
public enum Country
{
/// <summary>
/// Afghanistan
/// </summary>
AF = 1,
/// <summary>
/// Åland Islands
/// </summary>
AX = 2,
/// <summary>
/// Albania
/// </summary>
AL = 3,
/// <summary>
/// Algeria
/// </summary>
DZ = 4,
/// <summary>
/// American Samoa
/// </summary>
AS = 5,
/// <summary>
/// Andorra
/// </summary>
AD = 6,
/// <summary>
/// Angola
/// </summary>
AO = 7,
/// <summary>
/// Anguilla
/// </summary>
AI = 8,
/// <summary>
/// Antarctica
/// </summary>
AQ = 9,
/// <summary>
/// Antigua and Barbuda
/// </summary>
AG = 10,
/// <summary>
/// Argentina
/// </summary>
AR = 11,
/// <summary>
/// Armenia
/// </summary>
AM = 12,
/// <summary>
/// Aruba
/// </summary>
AW = 13,
/// <summary>
/// Australia
/// </summary>
AU = 14,
/// <summary>
/// Austria
/// </summary>
AT = 15,
/// <summary>
/// Azerbaijan
/// </summary>
AZ = 16,
/// <summary>
/// Bahamas
/// </summary>
BS = 17,
/// <summary>
/// Bahrain
/// </summary>
BH = 18,
/// <summary>
/// Bangladesh
/// </summary>
BD = 19,
/// <summary>
/// Barbados
/// </summary>
BB = 20,
/// <summary>
/// Belarus
/// </summary>
BY = 21,
/// <summary>
/// Belgium
/// </summary>
BE = 22,
/// <summary>
/// Belize
/// </summary>
BZ = 23,
/// <summary>
/// Benin
/// </summary>
BJ = 24,
/// <summary>
/// Bermuda
/// </summary>
BM = 25,
/// <summary>
/// Bhutan
/// </summary>
BT = 26,
/// <summary>
/// Bolivia (Plurinational State of)
/// </summary>
BO = 27,
/// <summary>
/// Bonaire, Sint Eustatius and Saba
/// </summary>
BQ = 28,
/// <summary>
/// Bosnia and Herzegovina
/// </summary>
BA = 29,
/// <summary>
/// Botswana
/// </summary>
BW = 30,
/// <summary>
/// Bouvet Island
/// </summary>
BV = 31,
/// <summary>
/// Brazil
/// </summary>
BR = 32,
/// <summary>
/// British Indian Ocean Territory
/// </summary>
IO = 33,
/// <summary>
/// Brunei Darussalam
/// </summary>
BN = 34,
/// <summary>
/// Bulgaria
/// </summary>
BG = 35,
/// <summary>
/// Burkina Faso
/// </summary>
BF = 36,
/// <summary>
/// Burundi
/// </summary>
BI = 37,
/// <summary>
/// Cabo Verde
/// </summary>
CV = 38,
/// <summary>
/// Cambodia
/// </summary>
KH = 39,
/// <summary>
/// Cameroon
/// </summary>
CM = 40,
/// <summary>
/// Canada
/// </summary>
CA = 41,
/// <summary>
/// Cayman Islands
/// </summary>
KY = 42,
/// <summary>
/// Central African Republic
/// </summary>
CF = 43,
/// <summary>
/// Chad
/// </summary>
TD = 44,
/// <summary>
/// Chile
/// </summary>
CL = 45,
/// <summary>
/// China
/// </summary>
CN = 46,
/// <summary>
/// Christmas Island
/// </summary>
CX = 47,
/// <summary>
/// Cocos (Keeling) Islands
/// </summary>
CC = 48,
/// <summary>
/// Colombia
/// </summary>
CO = 49,
/// <summary>
/// Comoros
/// </summary>
KM = 50,
/// <summary>
/// Congo
/// </summary>
CG = 51,
/// <summary>
/// Congo (Democratic Republic of the)
/// </summary>
CD = 52,
/// <summary>
/// Cook Islands
/// </summary>
CK = 53,
/// <summary>
/// Costa Rica
/// </summary>
CR = 54,
/// <summary>
/// Côte d'Ivoire
/// </summary>
CI = 55,
/// <summary>
/// Croatia
/// </summary>
HR = 56,
/// <summary>
/// Cuba
/// </summary>
CU = 57,
/// <summary>
/// Curaçao
/// </summary>
CW = 58,
/// <summary>
/// Cyprus
/// </summary>
CY = 59,
/// <summary>
/// Czechia
/// </summary>
CZ = 60,
/// <summary>
/// Denmark
/// </summary>
DK = 61,
/// <summary>
/// Djibouti
/// </summary>
DJ = 62,
/// <summary>
/// Dominica
/// </summary>
DM = 63,
/// <summary>
/// Dominican Republic
/// </summary>
DO = 64,
/// <summary>
/// Ecuador
/// </summary>
EC = 65,
/// <summary>
/// Egypt
/// </summary>
EG = 66,
/// <summary>
/// El Salvador
/// </summary>
SV = 67,
/// <summary>
/// Equatorial Guinea
/// </summary>
GQ = 68,
/// <summary>
/// Eritrea
/// </summary>
ER = 69,
/// <summary>
/// Estonia
/// </summary>
EE = 70,
/// <summary>
/// Ethiopia
/// </summary>
ET = 71,
/// <summary>
/// Falkland Islands (Malvinas)
/// </summary>
FK = 72,
/// <summary>
/// Faroe Islands
/// </summary>
FO = 73,
/// <summary>
/// Fiji
/// </summary>
FJ = 74,
/// <summary>
/// Finland
/// </summary>
FI = 75,
/// <summary>
/// France
/// </summary>
FR = 76,
/// <summary>
/// French Guiana
/// </summary>
GF = 77,
/// <summary>
/// French Polynesia
/// </summary>
PF = 78,
/// <summary>
/// French Southern Territories
/// </summary>
TF = 79,
/// <summary>
/// Gabon
/// </summary>
GA = 80,
/// <summary>
/// Gambia
/// </summary>
GM = 81,
/// <summary>
/// Georgia
/// </summary>
GE = 82,
/// <summary>
/// Germany
/// </summary>
DE = 83,
/// <summary>
/// Ghana
/// </summary>
GH = 84,
/// <summary>
/// Gibraltar
/// </summary>
GI = 85,
/// <summary>
/// Greece
/// </summary>
GR = 86,
/// <summary>
/// Greenland
/// </summary>
GL = 87,
/// <summary>
/// Grenada
/// </summary>
GD = 88,
/// <summary>
/// Guadeloupe
/// </summary>
GP = 89,
/// <summary>
/// Guam
/// </summary>
GU = 90,
/// <summary>
/// Guatemala
/// </summary>
GT = 91,
/// <summary>
/// Guernsey
/// </summary>
GG = 92,
/// <summary>
/// Guinea
/// </summary>
GN = 93,
/// <summary>
/// Guinea-Bissau
/// </summary>
GW = 94,
/// <summary>
/// Guyana
/// </summary>
GY = 95,
/// <summary>
/// Haiti
/// </summary>
HT = 96,
/// <summary>
/// Heard Island and McDonald Islands
/// </summary>
HM = 97,
/// <summary>
/// Holy See
/// </summary>
VA = 98,
/// <summary>
/// Honduras
/// </summary>
HN = 99,
/// <summary>
/// Hong Kong
/// </summary>
HK = 100,
/// <summary>
/// Hungary
/// </summary>
HU = 101,
/// <summary>
/// Iceland
/// </summary>
IS = 102,
/// <summary>
/// India
/// </summary>
IN = 103,
/// <summary>
/// Indonesia
/// </summary>
ID = 104,
/// <summary>
/// Iran (Islamic Republic of)
/// </summary>
IR = 105,
/// <summary>
/// Iraq
/// </summary>
IQ = 106,
/// <summary>
/// Ireland
/// </summary>
IE = 107,
/// <summary>
/// Isle of Man
/// </summary>
IM = 108,
/// <summary>
/// Israel
/// </summary>
IL = 109,
/// <summary>
/// Italy
/// </summary>
IT = 110,
/// <summary>
/// Jamaica
/// </summary>
JM = 111,
/// <summary>
/// Japan
/// </summary>
JP = 112,
/// <summary>
/// Jersey
/// </summary>
JE = 113,
/// <summary>
/// Jordan
/// </summary>
JO = 114,
/// <summary>
/// Kazakhstan
/// </summary>
KZ = 115,
/// <summary>
/// Kenya
/// </summary>
KE = 116,
/// <summary>
/// Kiribati
/// </summary>
KI = 117,
/// <summary>
/// Korea (Democratic People's Republic of)
/// </summary>
KP = 118,
/// <summary>
/// Korea (Republic of)
/// </summary>
KR = 119,
/// <summary>
/// Kuwait
/// </summary>
KW = 120,
/// <summary>
/// Kyrgyzstan
/// </summary>
KG = 121,
/// <summary>
/// Lao People's Democratic Republic
/// </summary>
LA = 122,
/// <summary>
/// Latvia
/// </summary>
LV = 123,
/// <summary>
/// Lebanon
/// </summary>
LB = 124,
/// <summary>
/// Lesotho
/// </summary>
LS = 125,
/// <summary>
/// Liberia
/// </summary>
LR = 126,
/// <summary>
/// Libya
/// </summary>
LY = 127,
/// <summary>
/// Liechtenstein
/// </summary>
LI = 128,
/// <summary>
/// Lithuania
/// </summary>
LT = 129,
/// <summary>
/// Luxembourg
/// </summary>
LU = 130,
/// <summary>
/// Macao
/// </summary>
MO = 131,
/// <summary>
/// Macedonia (the former Yugoslav Republic of)
/// </summary>
MK = 132,
/// <summary>
/// Madagascar
/// </summary>
MG = 133,
/// <summary>
/// Malawi
/// </summary>
MW = 134,
/// <summary>
/// Malaysia
/// </summary>
MY = 135,
/// <summary>
/// Maldives
/// </summary>
MV = 136,
/// <summary>
/// Mali
/// </summary>
ML = 137,
/// <summary>
/// Malta
/// </summary>
MT = 138,
/// <summary>
/// Marshall Islands
/// </summary>
MH = 139,
/// <summary>
/// Martinique
/// </summary>
MQ = 140,
/// <summary>
/// Mauritania
/// </summary>
MR = 141,
/// <summary>
/// Mauritius
/// </summary>
MU = 142,
/// <summary>
/// Mayotte
/// </summary>
YT = 143,
/// <summary>
/// Mexico
/// </summary>
MX = 144,
/// <summary>
/// Micronesia (Federated States of)
/// </summary>
FM = 145,
/// <summary>
/// Moldova (Republic of)
/// </summary>
MD = 146,
/// <summary>
/// Monaco
/// </summary>
MC = 147,
/// <summary>
/// Mongolia
/// </summary>
MN = 148,
/// <summary>
/// Montenegro
/// </summary>
ME = 149,
/// <summary>
/// Montserrat
/// </summary>
MS = 150,
/// <summary>
/// Morocco
/// </summary>
MA = 151,
/// <summary>
/// Mozambique
/// </summary>
MZ = 152,
/// <summary>
/// Myanmar
/// </summary>
MM = 153,
/// <summary>
/// Namibia
/// </summary>
NA = 154,
/// <summary>
/// Nauru
/// </summary>
NR = 155,
/// <summary>
/// Nepal
/// </summary>
NP = 156,
/// <summary>
/// Netherlands
/// </summary>
NL = 157,
/// <summary>
/// New Caledonia
/// </summary>
NC = 158,
/// <summary>
/// New Zealand
/// </summary>
NZ = 159,
/// <summary>
/// Nicaragua
/// </summary>
NI = 160,
/// <summary>
/// Niger
/// </summary>
NE = 161,
/// <summary>
/// Nigeria
/// </summary>
NG = 162,
/// <summary>
/// Niue
/// </summary>
NU = 163,
/// <summary>
/// Norfolk Island
/// </summary>
NF = 164,
/// <summary>
/// Northern Mariana Islands
/// </summary>
MP = 165,
/// <summary>
/// Norway
/// </summary>
NO = 166,
/// <summary>
/// Oman
/// </summary>
OM = 167,
/// <summary>
/// Pakistan
/// </summary>
PK = 168,
/// <summary>
/// Palau
/// </summary>
PW = 169,
/// <summary>
/// Palestine, State of
/// </summary>
PS = 170,
/// <summary>
/// Panama
/// </summary>
PA = 171,
/// <summary>
/// Papua New Guinea
/// </summary>
PG = 172,
/// <summary>
/// Paraguay
/// </summary>
PY = 173,
/// <summary>
/// Peru
/// </summary>
PE = 174,
/// <summary>
/// Philippines
/// </summary>
PH = 175,
/// <summary>
/// Pitcairn
/// </summary>
PN = 176,
/// <summary>
/// Poland
/// </summary>
PL = 177,
/// <summary>
/// Portugal
/// </summary>
PT = 178,
/// <summary>
/// Puerto Rico
/// </summary>
PR = 179,
/// <summary>
/// Qatar
/// </summary>
QA = 180,
/// <summary>
/// Réunion
/// </summary>
RE = 181,
/// <summary>
/// Romania
/// </summary>
RO = 182,
/// <summary>
/// Russian Federation
/// </summary>
RU = 183,
/// <summary>
/// Rwanda
/// </summary>
RW = 184,
/// <summary>
/// Saint Barthélemy
/// </summary>
BL = 185,
/// <summary>
/// Saint Helena, Ascension and Tristan da Cunha
/// </summary>
SH = 186,
/// <summary>
/// Saint Kitts and Nevis
/// </summary>
KN = 187,
/// <summary>
/// Saint Lucia
/// </summary>
LC = 188,
/// <summary>
/// Saint Martin (French part)
/// </summary>
MF = 189,
/// <summary>
/// Saint Pierre and Miquelon
/// </summary>
PM = 190,
/// <summary>
/// Saint Vincent and the Grenadines
/// </summary>
VC = 191,
/// <summary>
/// Samoa
/// </summary>
WS = 192,
/// <summary>
/// San Marino
/// </summary>
SM = 193,
/// <summary>
/// Sao Tome and Principe
/// </summary>
ST = 194,
/// <summary>
/// Saudi Arabia
/// </summary>
SA = 195,
/// <summary>
/// Senegal
/// </summary>
SN = 196,
/// <summary>
/// Serbia
/// </summary>
RS = 197,
/// <summary>
/// Seychelles
/// </summary>
SC = 198,
/// <summary>
/// Sierra Leone
/// </summary>
SL = 199,
/// <summary>
/// Singapore
/// </summary>
SG = 200,
/// <summary>
/// Sint Maarten (Dutch part)
/// </summary>
SX = 201,
/// <summary>
/// Slovakia
/// </summary>
SK = 202,
/// <summary>
/// Slovenia
/// </summary>
SI = 203,
/// <summary>
/// Solomon Islands
/// </summary>
SB = 204,
/// <summary>
/// Somalia
/// </summary>
SO = 205,
/// <summary>
/// South Africa
/// </summary>
ZA = 206,
/// <summary>
/// South Georgia and the South Sandwich Islands
/// </summary>
GS = 207,
/// <summary>
/// South Sudan
/// </summary>
SS = 208,
/// <summary>
/// Spain
/// </summary>
ES = 209,
/// <summary>
/// Sri Lanka
/// </summary>
LK = 210,
/// <summary>
/// Sudan
/// </summary>
SD = 211,
/// <summary>
/// Suriname
/// </summary>
SR = 212,
/// <summary>
/// Svalbard and Jan Mayen
/// </summary>
SJ = 213,
/// <summary>
/// Swaziland
/// </summary>
SZ = 214,
/// <summary>
/// Sweden
/// </summary>
SE = 215,
/// <summary>
/// Switzerland
/// </summary>
CH = 216,
/// <summary>
/// Syrian Arab Republic
/// </summary>
SY = 217,
/// <summary>
/// Taiwan, Province of China[a]
/// </summary>
TW = 218,
/// <summary>
/// Tajikistan
/// </summary>
TJ = 219,
/// <summary>
/// Tanzania, United Republic of
/// </summary>
TZ = 220,
/// <summary>
/// Thailand
/// </summary>
TH = 221,
/// <summary>
/// Timor-Leste
/// </summary>
TL = 222,
/// <summary>
/// Togo
/// </summary>
TG = 223,
/// <summary>
/// Tokelau
/// </summary>
TK = 224,
/// <summary>
/// Tonga
/// </summary>
TO = 225,
/// <summary>
/// Trinidad and Tobago
/// </summary>
TT = 226,
/// <summary>
/// Tunisia
/// </summary>
TN = 227,
/// <summary>
/// Turkey
/// </summary>
TR = 228,
/// <summary>
/// Turkmenistan
/// </summary>
TM = 229,
/// <summary>
/// Turks and Caicos Islands
/// </summary>
TC = 230,
/// <summary>
/// Tuvalu
/// </summary>
TV = 231,
/// <summary>
/// Uganda
/// </summary>
UG = 232,
/// <summary>
/// Ukraine
/// </summary>
UA = 233,
/// <summary>
/// United Arab Emirates
/// </summary>
AE = 234,
/// <summary>
/// United Kingdom of Great Britain and Northern Ireland
/// </summary>
GB = 235,
/// <summary>
/// United States of America
/// </summary>
US = 236,
/// <summary>
/// United States Minor Outlying Islands
/// </summary>
UM = 237,
/// <summary>
/// Uruguay
/// </summary>
UY = 238,
/// <summary>
/// Uzbekistan
/// </summary>
UZ = 239,
/// <summary>
/// Vanuatu
/// </summary>
VU = 240,
/// <summary>
/// Venezuela (Bolivarian Republic of)
/// </summary>
VE = 241,
/// <summary>
/// Viet Nam
/// </summary>
VN = 242,
/// <summary>
/// Virgin Islands (British)
/// </summary>
VG = 243,
/// <summary>
/// Virgin Islands (U.S.)
/// </summary>
VI = 244,
/// <summary>
/// Wallis and Futuna
/// </summary>
WF = 245,
/// <summary>
/// Western Sahara
/// </summary>
EH = 246,
/// <summary>
/// Yemen
/// </summary>
YE = 247,
/// <summary>
/// Zambia
/// </summary>
ZM = 248,
/// <summary>
/// Zimbabwe
/// </summary>
ZW = 249,
}
public static class CountryExtensions
{
public static CountryProvider CountryProvider { get; } = new CountryProvider();
[Projectable]
public static string GetCountryCode(this Country country) => country.ToString();
public static CultureInfo GetCultureInfo(this Country country) => new CultureInfo(country.GetCountryCode());
public static string GetDisplayName(this Country country) => CountryProvider.GetCountry(country.GetCountryCode()).NativeName;
public static bool IsEEA(this Country country) => country switch
{
Country.AT => true,
Country.BE => true,
Country.BG => true,
Country.HR => true,
Country.CY => true,
Country.CZ => true,
Country.DK => true,
Country.EE => true,
Country.FI => true,
Country.FR => true,
Country.DE => true,
Country.GR => true,
Country.HU => true,
Country.IE => true,
Country.IT => true,
Country.LV => true,
Country.LT => true,
Country.LU => true,
Country.MT => true,
Country.NL => true,
Country.PL => true,
Country.PT => true,
Country.RO => true,
Country.SK => true,
Country.SI => true,
Country.ES => true,
Country.SE => true,
//extras
Country.LI => true,
Country.IS => true,
Country.NO => true,
_ => false
};
public static bool IsSEPA(this Country country) => IsEEA(country) || (country switch{
Country.CH => true,
Country.GB => true,
Country.SM => true,
Country.VA => true,
Country.AD => true,
Country.MC => true,
_ => false
});
}
}