Esempio n. 1
0
        /// <summary>
        /// Read and filtering files from incDir directory
        /// and display it into datagridview1
        /// </summary>
        /// <param name="incDir"></param>
        void ReadAndDisplayFilesInDGV(string incDir, List <CONSTS.Filter> filters, bool HideUncheked, bool rebuildModel)
        {
            if (!Directory.Exists(incDir))
            {
                return;
            }
            (dataGridView1.Columns[2] as DataGridViewComboBoxColumn).Items.Clear();
            (dataGridView1.Columns[2] as DataGridViewComboBoxColumn).Items.AddRange(CONSTS.DIRS());
            var filepaths = Directory.GetFiles(incDir);

            if (UseFilter)
            {
                AllFiles = new QueueFiles(filepaths, filters, CONSTS.FilesExceptions);                //отфильтрованный список файлов
                if (UseML)
                {
                    var predictedFiles = new QueueFiles(filepaths, filters, CONSTS.FilesExceptions, rebuildModel, MinScore); //отфильтрованный список файлов
                    for (int i = 0; i < AllFiles.Files.Count; i++)                                                           //для всех нераспознанных файлов применяем результаты нейросети
                    {
                        if (String.IsNullOrWhiteSpace(AllFiles.Files[i].DestinationDir))
                        {
                            AllFiles.Files[i] = predictedFiles.Files.First(x => x.FileName == AllFiles.Files[i].FileName);
                        }
                    }
                }
            }
            else if (UseML)
            {
                AllFiles = new QueueFiles(filepaths, filters, CONSTS.FilesExceptions, rebuildModel, MinScore);             //отфильтрованный список файлов
            }
            AllFiles.Files.Sort(new QFileComparer());
            if (HideUncheked)
            {
                bindingSource1.DataSource = AllFiles.Files.Where(x => x.Copy);
            }
            else
            {
                bindingSource1.DataSource = AllFiles.Files;
            }
            dataGridView1.DataSource = bindingSource1;
            SetStatus(AllFiles.Files.Count(x => x.Copy), AllFiles.Files.Count());
        }
Esempio n. 2
0
        private int MinScore;          //minimal level of prediction
        public MainForm()
        {
            InitializeComponent();
            if (!Directory.Exists(Path.Combine(Directory.GetCurrentDirectory(), "Data")))
            {
                Directory.CreateDirectory(Path.Combine(Directory.GetCurrentDirectory(), "Data"));
            }
            this.FormClosing += formClosingMethod;
            dataGridView1.DataBindingComplete += DataGridView1_DataBindingComplete;
            dataGridView1.CellContentClick    += cellClick;
            dataGridView1.CellClick           += dataGridView1_CellClick;
            dataGridView1.CellDoubleClick     += dataGridView1_CellDoubleClick;
            comboFilters.SelectedIndexChanged += comboFilters_SelectedIndexChanged;
            dataGridView1.DataError           += dataGridView1_DataError;
            tbSearch.TextChanged += tbSearch_TextChanged;
            filters = CONSTS.Filters;
            QueueFiles.QueueEvent += QueueFiles_QueueEvent;

            #region Read config

            cfg = new IniFile(ConfigFile);
            ReadFiltersCfg(cfg);
            ReadSettings(cfg);
            ReadFilesExceptions(cfg);
            tsMenuUseML.Checked = UseML;
            #endregion
            dataGridView1.AllowUserToAddRows = false;
            (dataGridView1.Columns[2] as DataGridViewComboBoxColumn).Items.AddRange(CONSTS.DIRS());
            #region ComboFilters
            comboFilters.Items.AddRange(namesFilters());
            comboFilters.Items.Add("Все фильтры");
            comboFilters.SelectedItem = "Все фильтры";

            #endregion
            if (IncomingDir != null && Directory.Exists(IncomingDir))
            {
                ReadAndDisplayFilesInDGV(IncomingDir, filters, checkBox1.Checked, false);
            }
        }