Exemplo n.º 1
0
        public void GetCountryTest()
        {
            string            countryUrl      = "https://restcountries.eu/rest/v2/name/russia";
            CountryRegionCity country         = null;
            CountryRegionCity testCountry     = _controller.GetCountry("Russia");
            string            countryData     = "";
            string            testCountryData = "";

            request  = (HttpWebRequest)WebRequest.Create(countryUrl);
            response = (HttpWebResponse)request.GetResponse();

            using (var sr = new StreamReader(response.GetResponseStream()))
                countryData = sr.ReadToEnd();
            country         = JsonConvert.DeserializeObject <List <CountryRegionCity> >(countryData).First();
            countryData     = JsonConvert.SerializeObject(country);
            testCountryData = JsonConvert.SerializeObject(testCountry);

            Assert.AreEqual(countryData, testCountryData);
        }
Exemplo n.º 2
0
        private void UpdateData(CountryRegionCity countryViewModel, Country country)
        {
            if (country.CityId == 0)
            {
                _context.Cities.Add(new City {
                    Id = country.Id, Name = countryViewModel.Capital
                });
            }

            if (country.RegionId == 0)
            {
                _context.Regions.Add(new Region {
                    Id = country.Id, Name = countryViewModel.Region
                });
            }

            _context.SaveChanges();

            country.CityId   = _context.Cities.FirstOrDefault(n => n.Name == countryViewModel.Capital).Id;
            country.RegionId = _context.Regions.FirstOrDefault(n => n.Name == countryViewModel.Region).Id;

            _context.Entry(country).State = EntityState.Modified;
        }
Exemplo n.º 3
0
        public void AddCountry(string name)
        {
            CountryRegionCity countryViewModel = CountryByName(name);
            Country           country          = _context.Countries.FirstOrDefault(c => c.Code == countryViewModel.Code);

            if (country == null)
            {
                _context.Countries.Add(new Country
                {
                    Name        = countryViewModel.Name,
                    Code        = countryViewModel.Code,
                    Area        = countryViewModel.Area,
                    CityId      = 0,
                    RegionId    = 0,
                    PeopleCount = countryViewModel.PeopleCount,
                });
            }
            else
            {
                UpdateData(countryViewModel, country);
            }

            _context.SaveChanges();
        }