コード例 #1
0
        private void renameToToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OverwriteDialog.Reset();
            RenameProfileElement pe = (sender as ToolStripMenuItem).Tag as RenameProfileElement;
            bool useTranslit        = (sender as ToolStripMenuItem).Text.StartsWith(Properties.Resources.TranslitMenuText);

            if (pe != null)
            {
                if (MessageBox.Show(String.Format(Properties.Resources.ConfirmationRename, SelectedCount, pe.Name), Properties.Resources.ConfirmationCaption, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                {
                    InProgress = true;
                    foreach (ListViewItem item in filesView.CheckedItems)
                    {
                        FB2File fc          = item.Tag as FB2File;
                        string  oldName     = fc.FileInformation.Name;
                        string  oldFullName = fc.FileInformation.FullName;
                        try
                        {
                            var processed = fc.RenameTo(pe, useTranslit);
                            if (!processed.Skipped)
                            {
                                LoadedFileIDs.Remove(oldFullName);
                                if (!LoadedFileIDs.ContainsKey(fc.FileInformation.FullName))
                                {
                                    LoadedFileIDs.Add(fc.FileInformation.FullName, string.Empty);
                                }
                                AddMessageRN(String.Format(Properties.Resources.RenameFileSuccess, oldName, fc.FileInformation.Name));
                            }
                            else
                            {
                                AddErrorRN(String.Format(Properties.Resources.RenameFileSkip, oldName, processed.NewFullName));
                            }
                        }
                        catch (Exception ex)
                        {
                            AddErrorRN(String.Format(Properties.Resources.RenameFileError, fc.FileInformation.FullName, ex.Message));
                        }
                        UpdateItem(item);
                        if (CheckCancel())
                        {
                            break;
                        }
                    }
                    InProgress = false;
                }
            }
        }
コード例 #2
0
        public void Rename_To_The_Same_Name()
        {
            FB2File file = new FB2File(@"TestFiles\Макиавелли Николо - Государь.fb2");

            RenameProfileElement profile = null;

            foreach (RenameProfileElement rp in FB2Config.Current.RenameProfiles)
            {
                if (rp.Name == "Автор/Серия/Автор - Серия Номер - Название")
                {
                    profile = rp;
                    break;
                }
            }

            Assert.IsNotNull(profile, "Rename profile should not be null");

            if (profile != null)
            {
                var result = file.RenameTo(profile, false);
                Assert.AreEqual(true, result.Skipped, "File should not be renamed");
            }
        }