Beispiel #1
0
        public CategoryForm()
        {
            InitializeComponent();

            dB = new CategoryDB();
            // создаем экземпляр пагинатора для отображения 10 записей на странице. Число 10 можно сделать переменной и вынести в настройки
            paginator = new Paginator <CategoryDB, Category>(dB, 10);
            // для отображения данных в листвью я сделал отдельный класс
            // в нем кэшируются строки
            viewer = new Viewer <Category>();
            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 AddSubcategoryForm(SubCategory editSubcategory, CategoryDB dB)
 {
     InitializeComponent();
     this.editSubcategory = editSubcategory;
     this.dB       = dB;
     textBox1.Text = editSubcategory.NameSubcategory;
 }
Beispiel #3
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();
        }
Beispiel #4
0
        public Advertisement Add()
        {
            categoryDB   = new CategoryDB();
            countryDB    = new CountryDB();
            discoveredDB = new DiscoveredDB();
            var           catigories    = categoryDB.GetListCombobox();
            var           countries     = countryDB.GetListCombobox();
            var           cities        = countryDB.GetListComboboxCity(countries[0]);
            var           subcatigories = categoryDB.GetListComboboxSubCategory(catigories[0]);
            var           discovereds   = discoveredDB.GetDiscoveredBox();
            Advertisement advertisement = new Advertisement
            {
                Address       = "",
                Close         = false,
                ContactPerson = "",
                Description   = "",
                Header        = "",
                Phone         = 0,
                Time          = DateTime.Now,
                Category      = catigories[0],
                City          = cities[0],
                Country       = countries[0],
                Discovered    = discovereds[0],
                Subcategory   = subcatigories[0]
            };

            advertisements.Add(advertisement);
            Save();
            return(advertisement);
        }
Beispiel #5
0
 public AddCategoryForm(Category category, CategoryDB dB)
 {
     InitializeComponent();
     this.category = category;
     this.dB       = dB;
     textBox1.Text = category.NameCategory;
 }
        private void LoadBox()
        {
            countryDB               = new CountryDB();
            categoryDB              = new CategoryDB();
            discoveredDB            = new DiscoveredDB();
            comboBox1.DataSource    = null;
            comboBox1.DataSource    = countryDB.GetListCombobox();
            comboBox1.DisplayMember = "NameCountry";

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

            comboBox5.DataSource = null;
            comboBox5.DataSource = discoveredDB.GetDiscoveredBox();
        }
        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();
 }
Beispiel #9
0
        public SubcategoryForm()
        {
            InitializeComponent();

            var db = new CategoryDB();

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

            // подписываемся на событие изменения выводимых записей
            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;
            }
        }
 public SubCategoryDB(CategoryDB dB, Category category)
 {
     this.dB       = dB;
     this.category = category;
 }