private void удалитьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (listView1.SelectedIndices.Count == 0)
            {
                return;
            }
            Country country = (Country)listView1.SelectedItems[0].Tag;

            if (country.Cities.Count > 0)
            {
                MessageBox.Show("Нельзя удалить страну, если у неё остались города!");
                return;
            }
            foreach (var advertisement in advertisementDB.GetList())
            {
                if (advertisement.Close != true && advertisement.Country == country)
                {
                    MessageBox.Show("Существует незакрытое объявление с этой страной!");
                    return;
                }
            }
            if (MessageBox.Show("Точно удалить страну?", "Предупреждение!", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                dB.Remove(country);
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            List <Advertisement> filter = new List <Advertisement>();
            Country combocountry        = new Country();

            combocountry = (Country)comboBox1.SelectedItem;
            City combocity = new City();

            combocity = (City)comboBox2.SelectedItem;
            Category combocategory = new Category();

            combocategory = (Category)comboBox3.SelectedItem;
            SubCategory combosubCategory = new SubCategory();

            combosubCategory = (SubCategory)comboBox4.SelectedItem;
            string combodiscovered = (string)comboBox5.SelectedItem;

            if (combocountry.NameCountry == "" && combocategory.NameCategory == "" && combodiscovered == "")
            {
                filterDB.SetCurrentData(dB.GetList());
            }
            else
            {
                foreach (var row in dB.GetList())
                {
                    if (row.Country.NameCountry.Contains(combocountry?.NameCountry) &&
                        row.Category.NameCategory.Contains(combocategory?.NameCategory) &&
                        row.Discovered.Contains(combodiscovered) &&
                        row.City.NameCity.Contains(combocity?.NameCity) &&
                        row.Subcategory.NameSubcategory.Contains(combosubCategory?.NameSubcategory))
                    {
                        filter.Add(row);
                    }
                }
                filterDB.SetCurrentData(filter);
            }
            viewer.ViewData(paginator.ShowRows);

            dB.Save();
        }
        private void удалитьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (listView1.SelectedIndices.Count == 0)
            {
                return;
            }
            SubCategory subCategory = (SubCategory)listView1.SelectedItems[0].Tag;

            foreach (var advertisement in advertisementDB.GetList())
            {
                if (advertisement.Close != true && advertisement.Subcategory == subCategory)
                {
                    MessageBox.Show("Существует незакрытое объявление с этой подкатегорией!");
                    return;
                }
            }
            if (MessageBox.Show("Точно удалить подкатегорию?", "Предупреждение!", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                dB.Remove(subCategory);
                dB.Save();
            }
        }
        private void button3_Click(object sender, EventArgs e)
        {
            List <Advertisement> filter   = new List <Advertisement>();
            TimeSpan             span     = new TimeSpan(0, 0, 0, 0);
            DateTime             dateTime = new DateTime();

            if (comboBox2.Text == "За неделю")
            {
                span = span.Add(new TimeSpan(7, 0, 0, 0));
            }
            else if (comboBox2.Text == "За месяц")
            {
                span = span.Add(new TimeSpan(30, 0, 0, 0));
            }
            else if (comboBox2.Text == "За год")
            {
                span = span.Add(new TimeSpan(365, 0, 0, 0));
            }
            else if (comboBox2.Text == "За всё время")
            {
                span = span.Add(new TimeSpan(10000, 0, 0, 0));
            }
            else
            {
                dateTime = dateTimePicker1.Value;
            }
            foreach (var row in dB.GetList())
            {
                if (comboBox2.Text == "Своя дата")
                {
                    if (comboBox1.Text == "Все объявления" && row.Time.Date == dateTime.Date)
                    {
                        filter.Add(row);
                    }
                    else if (comboBox1.Text == "Открытые объявления" && row.Time.Date == dateTime.Date && row.Close == false)
                    {
                        filter.Add(row);
                    }
                    else if (comboBox1.Text == "Закрытые объявления" && row.Time.Date == dateTime.Date && row.Close == true)
                    {
                        filter.Add(row);
                    }
                }
                else
                {
                    if (comboBox1.Text == "Все объявления" && span > DateTime.Now - row.Time)
                    {
                        filter.Add(row);
                    }
                    else if (comboBox1.Text == "Открытые объявления" && span > DateTime.Now - row.Time && row.Close == false)
                    {
                        filter.Add(row);
                    }
                    else if (comboBox1.Text == "Закрытые объявления" && span > DateTime.Now - row.Time && row.Close == true)
                    {
                        filter.Add(row);
                    }
                }
            }
            label2.Text = $"Количество найденных объявлений:{filter.Count}";
            reportDB.SetCurrentData(filter);
            viewer.ViewData(paginator.ShowRows);
        }