private void SaveToDb(dynamic country) { InfoTxblc.Text = "Сохраняем данные..."; CityView capital = null; RegionView region = null; //Проверка наличия столицы в таблице Города if (Querries.FindCities(country.Capital).Count == 0) { capital = new CityView() { Name = country.Capital }; Querries.SaveCity(capital); } //Если запись есть - ищем ее else { capital = Querries.FindCity(country.Capital); } //Проверка наличия региона в таблице Регионов if (Querries.FindRegions(country.Region).Count == 0) { region = new RegionView() { Name = country.Region }; Querries.SaveRegion(region); } //Если запись есть - ищем ее else { region = Querries.FindRegion(country.Region); } //Проверка наличия страны в таблице Стран if (Querries.FindCountries(country.CountryName).Count == 0) { //Capital_Id нужен по ТЗ. В ином случае, не стал бы добавлять это поле Querries.SaveCountry(new CountryView() { Name = country.CountryName, Capital = capital, Capital_Id = capital.Id, Code = country.Code, PeopleAmount = country.People, Region = region, Square = country.Square } ); } //Если запись есть - обновляем ее else { CountryView selectedCountry = Querries.FindCountries(country.CountryName as string).First(); selectedCountry.Name = country.CountryName; selectedCountry.Capital = capital; selectedCountry.Capital_Id = capital.Id; selectedCountry.Code = country.Code; selectedCountry.PeopleAmount = country.People; selectedCountry.Region = region; selectedCountry.Square = country.Square; Querries.db.SaveChanges(); } InfoTxblc.Text = "Сохранение прошло успешно!"; }
//показать все сохраненные страны private void ShowData(object sender, ExecutedRoutedEventArgs e) => MainDg.ItemsSource = Querries.ShowAllData();