Example #1
0
        /// <summary>
        /// Удалить элемент из списка по идентификатору.
        /// </summary>
        /// <param name="id"></param>
        public void DeleteItem(Guid id)
        {
            var itemToDelete = FullListFiles.Where(x => x.Guid == id).Select(x => x).First();

            EdfFiles.DeleteFile(itemToDelete.Name);
            FullListFiles.Remove(itemToDelete);
        }
        private void BtnStartFind_Click(object sender, EventArgs e)
        {
            var watch = Stopwatch.StartNew();

            ClearAllItemsListsView();

            tabControl.SelectedTab = tabFilesPage;

            BlockHeadControls(true);

            try
            {
                _edfFiles = new EdfFiles(textBoxFolderPath.Text, checkBoxEnableFullDelete.Checked);

                if (_edfFiles.GetFiles())
                {
                    ToggleEnabledUserControls(true);
                    ShowListFiles(listView);
                    // Выводим информацию о найденных файлах.
                    lblCountFindedFiles.Text = $"Найдено {_edfFiles.GetTotalCount} файл(а,ов)";
                    // Устанавливаем параметры общего выделения.
                    CheckAllFiles(false);
                }
                else
                {
                    ToggleEnabledUserControls(false);
                    MessageBox.Show(
                        "Указанный путь не существует. Поиск невозможен.",
                        "Ошибка имени пути",
                        MessageBoxButtons.OK);
                }
            }
            catch (Exception exception)
            {
                MessageBox.Show(
                    exception.Message,
                    "Ошибка при обработке каталога",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error);
            }
            finally
            {
                BlockHeadControls(false);
            }

            ShowDuplicatesOnlyListFiles(listViewAllDuplicates);
            if (checkBoxGoToDuplicatesIfFind.Checked && _edfFiles.GetDuplicatesCount > 0)
            {
                tabControl.SelectTab(tabDuplicatesPage);
            }
            watch.Stop();
            lblTimeWork.Text = $"Время работы: {watch.Elapsed}";
        }