Exemple #1
0
        public Form1()
        {
            InitializeComponent();

            countryDB               = new CountryDB();
            comboBox1.DataSource    = null;
            comboBox1.DataSource    = countryDB.GetListCombobox();
            comboBox1.DisplayMember = "NameCountry";

            categoryDB              = new CategoryDB();
            comboBox3.DataSource    = null;
            comboBox3.DataSource    = categoryDB.GetListCombobox();
            comboBox3.DisplayMember = "NameCategory";

            discoveredDB            = new DiscoveredDB();
            comboBox5.DataSource    = null;
            comboBox5.DataSource    = discoveredDB.GetDiscoveredBox();
            comboBox5.DisplayMember = "Status";

            dB = new AdvertisementDB();
            // создаем экземпляр пагинатора для отображения 10 записей на странице. Число 10 можно сделать переменной и вынести в настройки
            paginator = new Paginator <AdvertisementDB, Advertisement>(dB, 10);
            // для отображения данных в листвью я сделал отдельный класс
            // в нем кэшируются строки
            viewer = new ListViewViewer(listView1, 5, 10);


            // вызываем обновление всех данных и событий
            // за счет того, что данный метод вызывается ПОСЛЕ создания пагинатора интерфейс успевает подписаться на события пагинатора и нормально отобразить все данные
            dB.Save();
        }
        public MainForm()
        {
            InitializeComponent();
            LoadBox();

            dB       = new AdvertisementDB();
            filterDB = new FilterDB();
            // создаем экземпляр пагинатора для отображения 10 записей на странице. Число 10 можно сделать переменной и вынести в настройки
            paginator = new Paginator <FilterDB, Advertisement>(filterDB, 20);
            paginator.CountChanged        += Paginator_CountChanged;
            paginator.CurrentIndexChanged += Paginator_CurrentIndexChanged;
            paginator.ShowRowsChanges     += Paginator_ShowRowsChanges;
            // для отображения данных в листвью я сделал отдельный класс
            // в нем кэшируются строки
            viewer = new ListViewViewer(listView1, 5, 20);
            dB.Save();
        }
        public SubcategoryForm(CategoryDB categoryDB, AdvertisementDB advertisementDB)
        {
            InitializeComponent();
            this.categoryDB         = categoryDB;
            comboBox1.DataSource    = null;
            comboBox1.DataSource    = categoryDB.GetList();
            comboBox1.DisplayMember = "NameCategory";
            this.advertisementDB    = advertisementDB;
            // подписываемся на событие изменения выводимых записей
            paginator.ShowRowsChanges += Paginator_ShowRowsChanges;
            // подписываемся на изменение кол-ва страниц
            paginator.CountChanged += Paginator_CountChanged;
            // подписываемся на изменение текущего индекса
            paginator.CurrentIndexChanged += Paginator_CurrentIndexChanged;

            // вызываем обновление всех данных и событий
            // за счет того, что данный метод вызывается ПОСЛЕ создания пагинатора интерфейс успевает подписаться на события пагинатора и нормально отобразить все данные
            dB.Save();
        }
 public ReportForm(CategoryDB categoryDB, CountryDB countryDB, DiscoveredDB discoveredDB)
 {
     InitializeComponent();
     reportDB = new ReportDB();
     LoadBox();
     dB = new AdvertisementDB();
     this.categoryDB   = categoryDB;
     this.countryDB    = countryDB;
     this.discoveredDB = discoveredDB;
     // создаем экземпляр пагинатора для отображения 10 записей на странице. Число 10 можно сделать переменной и вынести в настройки
     paginator = new Paginator <ReportDB, Advertisement>(reportDB, 30);
     paginator.CountChanged        += Paginator_CountChanged;;
     paginator.CurrentIndexChanged += Paginator_CurrentIndexChanged;
     paginator.ShowRowsChanges     += Paginator_ShowRowsChanges;
     // для отображения данных в листвью я сделал отдельный класс
     // в нем кэшируются строки
     viewer = new ListViewViewer(listView1, 1, 30);
     dB.Save();
 }
        public CountryForm(CountryDB dB, AdvertisementDB advertisementDB)
        {
            InitializeComponent();
            this.dB = dB;
            this.advertisementDB = advertisementDB;
            // создаем экземпляр пагинатора для отображения 10 записей на странице. Число 10 можно сделать переменной и вынести в настройки
            paginator = new Paginator <CountryDB, Country>(dB, 15);
            // для отображения данных в листвью я сделал отдельный класс
            // в нем кэшируются строки
            viewer = new ListViewViewer(listView1, 1, 15);
            // подписываемся на событие изменения выводимых записей
            paginator.ShowRowsChanges += Paginator_ShowRowsChanges;
            // подписываемся на изменение кол-ва страниц
            paginator.CountChanged += Paginator_CountChanged;
            // подписываемся на изменение текущего индекса
            paginator.CurrentIndexChanged += Paginator_CurrentIndexChanged;

            // вызываем обновление всех данных и событий
            // за счет того, что данный метод вызывается ПОСЛЕ создания пагинатора интерфейс успевает подписаться на события пагинатора и нормально отобразить все данные
            dB.Save();
        }
        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;
            }
        }