Пример #1
0
        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 = "Сохранение прошло успешно!";
        }
Пример #2
0
 //показать все сохраненные страны
 private void ShowData(object sender, ExecutedRoutedEventArgs e) =>
 MainDg.ItemsSource = Querries.ShowAllData();