// Обработка файлов private void bw_DoWork(object sender, DoWorkEventArgs e) { ProgressBar.Value = 0; int i = 0; FB2Validator fv2Validator = new FB2Validator(); switch (m_WorkMode) { case BooksAutoCorrectModeEnum.SelectedBooks: this.Text = string.Format( "Автокорректировка выделенных {0} книг", m_listViewFB2Files.SelectedItems.Count ); // при пакетной обработке (не прерывать обработку на вылете корректировки, а переходим к обработке следующей книги) BooksAutoCorrectProcessingModeEnum AutoCorrectProcessingMode = (m_listViewFB2Files.SelectedItems.Count == 1) ? BooksAutoCorrectProcessingModeEnum.OneBookProcessing : BooksAutoCorrectProcessingModeEnum.BatchProcessing; foreach (ListViewItem SelectedItem in m_listViewFB2Files.SelectedItems) { if ((m_bw.CancellationPending)) { e.Cancel = true; return; } // обработка файла WorksWithBooks.autoCorrect( AutoCorrectProcessingMode, SelectedItem, SelectedItem.Text, m_sharpZipLib, m_fv2Validator ); m_bw.ReportProgress(++i); ProgressBar.Update(); } break; case BooksAutoCorrectModeEnum.CheckedBooks: this.Text = string.Format("Автокорректировка помеченных {0} книг", m_listViewFB2Files.CheckedItems.Count); // при пакетной обработке (не прерывать обработку на вылете корректировки, а переходим к обработке следующей книги) AutoCorrectProcessingMode = (m_listViewFB2Files.CheckedItems.Count == 1) ? BooksAutoCorrectProcessingModeEnum.OneBookProcessing : BooksAutoCorrectProcessingModeEnum.BatchProcessing; foreach (ListViewItem CheckedItem in m_listViewFB2Files.CheckedItems) { if ((m_bw.CancellationPending)) { e.Cancel = true; return; } // обработка файла WorksWithBooks.autoCorrect( AutoCorrectProcessingMode, CheckedItem, CheckedItem.Text, m_sharpZipLib, m_fv2Validator ); m_bw.ReportProgress(++i); } break; case BooksAutoCorrectModeEnum.BooksInGroup: this.Text = string.Format("Автокорректировка {0} книг в Группе", m_listViewFB2Files.SelectedItems[0].Group.Items.Count); foreach (ListViewItem Item in m_listViewFB2Files.SelectedItems[0].Group.Items) { if ((m_bw.CancellationPending)) { e.Cancel = true; return; } // обработка файла WorksWithBooks.autoCorrect( BooksAutoCorrectProcessingModeEnum.BatchProcessing, Item, Item.Text, m_sharpZipLib, m_fv2Validator ); m_bw.ReportProgress(++i); ProgressBar.Update(); } break; case BooksAutoCorrectModeEnum.BooksInAllGroup: this.Text = string.Format("Автокорректировка {0} книг во всех Группах", m_listViewFB2Files.Items.Count); foreach (ListViewItem Item in m_listViewFB2Files.Items) { if ((m_bw.CancellationPending)) { e.Cancel = true; return; } // обработка файла WorksWithBooks.autoCorrect( BooksAutoCorrectProcessingModeEnum.BatchProcessing, Item, Item.Text, m_sharpZipLib, m_fv2Validator ); m_bw.ReportProgress(++i); ProgressBar.Update(); } break; default: return; } if ((m_bw.CancellationPending)) { e.Cancel = true; return; } }
// Обработка файлов private void bw_DoWork(object sender, DoWorkEventArgs e) { ProgressBar.Value = 0; int i = 0; FB2Validator fv2Validator = new FB2Validator(); switch (m_WorkMode) { case BooksAutoCorrectModeEnum.SelectedBooks: this.Text = string.Format("Автокорректировка выделенных {0} книг", m_listViewFB2Files.SelectedItems.Count); foreach (ListViewItem SelectedItem in m_listViewFB2Files.SelectedItems) { if ((m_bw.CancellationPending)) { e.Cancel = true; return; } // обработка файла WorksWithBooks.autoCorrect( SelectedItem, SelectedItem.Text, m_listViewFB2Files.SelectedItems.Count == 1 ? true : false, m_sharpZipLib, m_fv2Validator ); m_bw.ReportProgress(++i); } break; case BooksAutoCorrectModeEnum.CheckedBooks: this.Text = string.Format("Автокорректировка помеченных {0} книг", m_listViewFB2Files.CheckedItems.Count); foreach (ListViewItem CheckedItem in m_listViewFB2Files.CheckedItems) { if ((m_bw.CancellationPending)) { e.Cancel = true; return; } // обработка файла WorksWithBooks.autoCorrect( CheckedItem, CheckedItem.Text, m_listViewFB2Files.CheckedItems.Count == 1 ? true : false, m_sharpZipLib, m_fv2Validator ); m_bw.ReportProgress(++i); } break; case BooksAutoCorrectModeEnum.BooksInGroup: this.Text = string.Format("Автокорректировка {0} книг в Группе", m_listViewFB2Files.SelectedItems[0].Group.Items.Count); foreach (ListViewItem Item in m_listViewFB2Files.SelectedItems[0].Group.Items) { if ((m_bw.CancellationPending)) { e.Cancel = true; return; } // обработка файла WorksWithBooks.autoCorrect(Item, Item.Text, false, m_sharpZipLib, m_fv2Validator); m_bw.ReportProgress(++i); } break; case BooksAutoCorrectModeEnum.BooksInAllGroup: this.Text = string.Format("Автокорректировка {0} книг во всех Группах", m_listViewFB2Files.Items.Count); foreach (ListViewItem Item in m_listViewFB2Files.Items) { if ((m_bw.CancellationPending)) { e.Cancel = true; return; } // обработка файла WorksWithBooks.autoCorrect(Item, Item.Text, false, m_sharpZipLib, m_fv2Validator); m_bw.ReportProgress(++i); } break; default: return; } if ((m_bw.CancellationPending)) { e.Cancel = true; return; } }