示例#1
0
        public async Task <IActionResult> GetProvinces(string countryCode)
        {
            Logger.LogDebug($"Provinces for country {countryCode} were requested");
            var provinces = await CountriesProvider?.GetProvincesAsync(countryCode);

            return(Ok(provinces ?? new string[] { }));
        }
示例#2
0
        public async Task <IActionResult> GetCountriesAsync()
        {
            Logger.LogDebug("Countries were requested");

            var countries = await CountriesProvider?.GetCountriesAsync();

            return(Ok((countries ?? new Country[] {})
                      .Select(c => new CountryDto {
                Code = c.Code, Title = c.Title
            }).ToArray()));
        }
示例#3
0
        public void AreCountryNameEqual_OnlyCountryEnglishNameProvided_ReturnsNotMatch()
        {
            ICountriesProvider provider = new CountriesProvider();

            bool result  = provider.AreCountryNameEqual(null, "United Kingdom");
            bool result2 = provider.AreCountryNameEqual(null, "United Kingdom");
            bool result3 = provider.AreCountryNameEqual(null, "United Kingdom");

            Assert.AreEqual(result, false);
            Assert.AreEqual(result2, false);
            Assert.AreEqual(result3, false);
        }
示例#4
0
        public void AreCountryNameEqual_BothCountryNamesProvided_ReturnsMatch()
        {
            ICountriesProvider provider = new CountriesProvider();

            bool result  = provider.AreCountryNameEqual("UK", "United Kingdom");
            bool result2 = provider.AreCountryNameEqual("GB", "United Kingdom");
            bool result3 = provider.AreCountryNameEqual("United Kingdom", "United Kingdom");

            Assert.AreEqual(result, true);
            Assert.AreEqual(result2, true);
            Assert.AreEqual(result3, true);
        }
示例#5
0
        public void FillCountryList_UseAllCultures_ReturnsCountries()
        {
            ICountriesProvider provider = new CountriesProvider();

            CultureInfo[] cInfoList = CultureInfo.GetCultures(CultureTypes.SpecificCultures);

            var count = cInfoList.Select(x => new RegionInfo(x.LCID).EnglishName).Distinct().Count();

            List <string> result = provider.FillCountryList();

            Assert.IsNotNull(result);
            Assert.AreEqual(result.Count, count);
        }
示例#6
0
 public SubscriptionModel(ISubscriptionStorage ss, CountriesProvider cp)
 {
     _ss = ss;
     _cp = cp;
     foreach (KeyValuePair <string, string> country in _cp.EUMembers)
     {
         CountriesList.Add(new SelectListItem(country.Value, country.Key));
     }
     foreach (KeyValuePair <string, string> country in _cp.EFTA)
     {
         CountriesList.Add(new SelectListItem(country.Value, country.Key));
     }
 }
示例#7
0
        public SubscriptionModel(ISubscriptionStorage ss, CountriesProvider cp)
        {
            _ss = ss;
            _cp = cp;

            Countries = new List <SelectListItem>();
            foreach (var item in cp.EFTA)
            {
                Countries.Add(new SelectListItem(text: item.Value, value: item.Key));
            }
            foreach (var item in cp.EUMembers)
            {
                Countries.Add(new SelectListItem(text: item.Value, value: item.Key));
            }
        }
示例#8
0
        public static string GenerateCountryCode()
        {
            var countryCodes = new CountriesProvider().Countries.Select(c => c.Code).ToArray();

            return(countryCodes[new Random().Next(countryCodes.Length - 1)]);
        }