private void добавитьГородToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var countries = countryDB.GetList();

            if (countries.Count == 0)
            {
                MessageBox.Show("Вы ещё не добавили страну!");
                return;
            }
            CityForm cityForm = new CityForm(countryDB, dB);

            cityForm.ShowDialog();
            LoadBox();
        }
Exemple #2
0
        public CityForm()
        {
            InitializeComponent();
            CountryDB = new CountryDB();
            viewer    = new Viewer <City>();

            viewer.ViewerControl = listView1;
            var prop = listView1.GetType().GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic);

            prop.SetValue(listView1, true, null);
            List <string> tags = new List <string>();

            for (int i = 0; i < listView1.Columns.Count; i++)
            {
                tags.Add(listView1.Columns[i].Tag.ToString());
            }
            Tags = tags;
            comboBox1.DataSource    = null;
            comboBox1.DataSource    = CountryDB.GetList();
            comboBox1.DisplayMember = "NameCountry";
            // подписываемся на событие изменения выводимых записей
            paginator.ShowRowsChanges += Paginator_ShowRowsChanges;
            // подписываемся на изменение кол-ва страниц
            paginator.CountChanged += Paginator_CountChanged;
            // подписываемся на изменение текущего индекса
            paginator.CurrentIndexChanged += Paginator_CurrentIndexChanged;
            // вызываем обновление всех данных и событий
            // за счет того, что данный метод вызывается ПОСЛЕ создания пагинатора интерфейс успевает подписаться на события пагинатора и нормально отобразить все данные

            dB.Save();
        }
Exemple #3
0
        public CountryForm()
        {
            InitializeComponent();
            dB = new CountryDB();
            // создаем экземпляр пагинатора для отображения 10 записей на странице. Число 10 можно сделать переменной и вынести в настройки
            paginator = new Paginator <CountryDB, Country>(dB, 15);
            // для отображения данных в листвью я сделал отдельный класс
            // в нем кэшируются строки
            viewer = new Viewer <Country>();
            viewer.ViewerControl = listView1;
            var prop = listView1.GetType().GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic);

            prop.SetValue(listView1, true, null);
            List <string> tags = new List <string>();

            for (int i = 0; i < listView1.Columns.Count; i++)
            {
                tags.Add(listView1.Columns[i].Tag.ToString());
            }
            Tags = tags;
            viewer.UniversalView(tags, dB.GetList());
            // подписываемся на событие изменения выводимых записей
            paginator.ShowRowsChanges += Paginator_ShowRowsChanges;
            // подписываемся на изменение кол-ва страниц
            paginator.CountChanged += Paginator_CountChanged;
            // подписываемся на изменение текущего индекса
            paginator.CurrentIndexChanged += Paginator_CurrentIndexChanged;

            // вызываем обновление всех данных и событий
            // за счет того, что данный метод вызывается ПОСЛЕ создания пагинатора интерфейс успевает подписаться на события пагинатора и нормально отобразить все данные
            dB.Save();
        }
        public CityForm(CountryDB CountryDB, AdvertisementDB advertisementDB)
        {
            InitializeComponent();
            this.CountryDB          = CountryDB;
            comboBox1.DataSource    = null;
            comboBox1.DataSource    = CountryDB.GetList();
            comboBox1.DisplayMember = "NameCountry";
            this.advertisementDB    = advertisementDB;
            // подписываемся на событие изменения выводимых записей
            paginator.ShowRowsChanges += Paginator_ShowRowsChanges;
            // подписываемся на изменение кол-ва страниц
            paginator.CountChanged += Paginator_CountChanged;
            // подписываемся на изменение текущего индекса
            paginator.CurrentIndexChanged += Paginator_CurrentIndexChanged;
            // подписываемся на событие изменения выводимых записей

            // вызываем обновление всех данных и событий
            // за счет того, что данный метод вызывается ПОСЛЕ создания пагинатора интерфейс успевает подписаться на события пагинатора и нормально отобразить все данные
        }
        public AddAdvertisementForm(AdvertisementDB dB, CategoryDB categoryDB, CountryDB countryDB, DiscoveredDB discoveredDB, Advertisement advertisement, int code)
        {
            InitializeComponent();
            this.categoryDB         = categoryDB;
            this.countryDB          = countryDB;
            this.discoveredDB       = discoveredDB;
            this.advertisement      = advertisement;
            this.dB                 = dB;
            this.code               = code;
            textBox1.Text           = advertisement.Header;
            textBox4.Text           = advertisement.Address;
            textBox2.Text           = advertisement.Phone.ToString();
            textBox5.Text           = advertisement.ContactPerson;
            textBox3.Text           = advertisement.Description;
            comboBox3.DataSource    = null;
            comboBox3.DataSource    = countryDB.GetList();
            comboBox3.DisplayMember = "NameCountry";

            comboBox1.DataSource    = null;
            comboBox1.DataSource    = categoryDB.GetList();
            comboBox1.DisplayMember = "NameCategory";

            comboBox5.DataSource    = null;
            comboBox5.DataSource    = discoveredDB.GetDiscovered();
            comboBox5.DisplayMember = "Status";

            if (code == 1)
            {
                button2.Visible = false;
                label11.Visible = false;
            }
            else if (code == 0)
            {
                for (int i = 0; i < comboBox3.Items.Count; i++)
                {
                    Country countrybox = (Country)comboBox3.Items[i];
                    if (countrybox.NameCountry == advertisement.Country.NameCountry)
                    {
                        comboBox3.SelectedIndex = i;
                        i = comboBox3.Items.Count;
                    }
                }
                for (int i = 0; i < comboBox1.Items.Count; i++)
                {
                    Category catrgorybox = (Category)comboBox1.Items[i];
                    if (catrgorybox.NameCategory == advertisement.Category.NameCategory)
                    {
                        comboBox1.SelectedIndex = i;
                        i = comboBox1.Items.Count;
                    }
                }
                for (int i = 0; i < comboBox5.Items.Count; i++)
                {
                    string discoveredbox = (string)comboBox5.Items[i];
                    if (discoveredbox == advertisement.Discovered)
                    {
                        comboBox5.SelectedIndex = i;
                        i = comboBox5.Items.Count;
                    }
                }
                button2.Visible = true;
                label11.Visible = true;
                TimeSpan timeSpan = new TimeSpan();
                timeSpan     = DateTime.Now - advertisement.Time;
                label11.Text = $"Времени прошло: {timeSpan}";
            }
            if (advertisement.Close == true)
            {
                textBox1.ReadOnly = true;
                textBox2.ReadOnly = true;
                textBox3.ReadOnly = true;
                textBox4.ReadOnly = true;
                textBox5.ReadOnly = true;
                comboBox1.Enabled = false;
                comboBox2.Enabled = false;
                comboBox3.Enabled = false;
                comboBox4.Enabled = false;
                comboBox5.Enabled = false;
                button2.Enabled   = false;
            }
        }
Exemple #6
0
 public List <Country> GetCountries()
 {
     return(dB.GetList());
 }