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); }
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; }
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(); }