Exemple #1
0
        /// <summary>
        /// Обработчик события нажатия клавиши мыши на элемент главного меню,
        /// который открывает диалоговое окно для задания условия поиска конфигурации хранилища данных
        /// </summary>
        private void поискToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            if (SansInfoMain != null && SansInfoMain.Count > 0)
            {
                var sansCondition = new SAN_ConditionConstructorForm(SansInfoMain);
                if (sansCondition.ShowDialog() == DialogResult.OK)
                {
                    int pos = 0;
                    if (!_sansSelected)
                    {
                        pos = SansInfoMain.IndexOf(sansCondition.SansInfoToShow.First());
                    }
                    else
                    {
                        pos = SansInfoToShow.IndexOf(sansCondition.SansInfoToShow.First());
                    }

                    if (pos > -1)
                    {
                        sANInfoBindingSource.Position = pos;
                    }
                }
            }
            else
            {
                MessageBox.Show("Отсутсвуют конфигурации хранилищ данных для совершения поиска!", "Ошибка",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        /// <summary>
        /// Выполнение отбора конфигураций хранилищ данных по условию
        /// </summary>
        private int RunSelection()
        {
            List <SAN_Info> selectedSan = null;

            try
            {
                if (SelectedManufacturer != null && comboBox2.SelectedIndex > -1)
                {
                    selectedSan = SansInfoMain.Where(si =>
                                                     si.Manufacturer.Equals(SelectedManufacturer.Name) && si.Model.Equals(comboBox2.Items[comboBox2.SelectedIndex]))
                                  .ToList();
                }
                else if (SelectedManufacturer != null)
                {
                    selectedSan = SansInfoMain.Where(si => si.Manufacturer.Equals(SelectedManufacturer.Name)).ToList();
                }
                else if (comboBox2.SelectedIndex > -1)
                {
                    selectedSan = SansInfoMain.Where(si => si.Model.Equals(comboBox2.Items[comboBox2.SelectedIndex])).ToList();
                }
                else
                {
                    selectedSan = SansInfoMain.ToList();
                }

                SansInfoToShow = new BindingList <SAN_Info>(selectedSan);
                return(SansInfoToShow.Count);
            }
            catch
            {
                SansInfoToShow = null;
                return(0);
            }
        }
 /// <summary>
 /// Инициализация привязок
 /// </summary>
 private void InitBindings()
 {
     manufacturerBindingSource.DataSource = _ctx.GetManufacturers();
     comboBox2.Items.AddRange(SansInfoMain.Select(x => x.Model).Distinct().ToArray());
 }