private void tsbCreateSnapshot_Click(object sender, EventArgs e) { bDatabase database = (bDatabase)lvDatabases.SelectedItems[0].Tag; FileScanOptions optionsDialog = new FileScanOptions(); optionsDialog.Mode = ScanOptionDialogModeEnum.CreateSnapshot; if (optionsDialog.ShowDialog(this) == DialogResult.OK) { CreateSnapshotAction action = new CreateSnapshotAction(); action.Comment = optionsDialog.Comment; action.Folder = optionsDialog.Folder; action.ScanSubfolders = optionsDialog.ScanSubfolders; action.FileMasks = optionsDialog.FileMasks; new ThinkingForm().ExecuteAction(this, action, action.Folder); if (action.Exception != null) { Messages.ShowError(this, action.Exception.Message); } else { database.Snapshots.Add(action.Snapshot); database.Save(); CreateSnapshotLVItem(action.Snapshot); } UpdateDatabaseLVItem(lvDatabases.SelectedItems[0]); } }
private void tsbDubFinder_Click(object sender, EventArgs e) { FileScanOptions scanOptionsDialog = new FileScanOptions(); scanOptionsDialog.Mode = ScanOptionDialogModeEnum.FindDubs; IList<bSnapshot> snapshotList = new List<bSnapshot>(); if (scanOptionsDialog.ShowDialog(this) == DialogResult.OK) { foreach (string folder in scanOptionsDialog.Folders) { CreateSnapshotAction action = new CreateSnapshotAction(); action.Comment = scanOptionsDialog.Comment; action.Folder = folder; action.ScanSubfolders = scanOptionsDialog.ScanSubfolders; action.FileMasks = scanOptionsDialog.FileMasks; new ThinkingForm().ExecuteAction(this, action, action.Folder); } BuildUniqueFilesListAction uniqueFilesAction = new BuildUniqueFilesListAction(); uniqueFilesAction.SnapshotList = snapshotList; new ThinkingForm().ExecuteAction(this, uniqueFilesAction, "Поиск совпадений файлов"); DubsControlDialog dubsDialog = new DubsControlDialog(); dubsDialog.FileDict = uniqueFilesAction.FileDict; dubsDialog.SnapshotsFiles = uniqueFilesAction.SnapshotsFiles; dubsDialog.FolderDict = uniqueFilesAction.FolderDict; dubsDialog.ShowDialog(this); } }
private void tsbCompare_Click(object sender, EventArgs e) { bDatabase database = (bDatabase)lvDatabases.SelectedItems[0].Tag; FileScanOptions optionsDialog = new FileScanOptions(); optionsDialog.Mode = ScanOptionDialogModeEnum.CompareDatabase; IList<bSnapshot> snapshotList = new List<bSnapshot>(); if (optionsDialog.ShowDialog(this) == DialogResult.OK) { foreach (string folder in optionsDialog.Folders) { CreateSnapshotAction action = new CreateSnapshotAction(); action.Comment = optionsDialog.Comment; action.Folder = folder; action.ScanSubfolders = optionsDialog.ScanSubfolders; action.FileMasks = optionsDialog.FileMasks; new ThinkingForm().ExecuteAction(this, action, action.Folder); snapshotList.Add(action.Snapshot); } BuildUniqueFilesListAction uniqueFilesAction = new BuildUniqueFilesListAction(); uniqueFilesAction.Database = database; uniqueFilesAction.SnapshotList = snapshotList; new ThinkingForm().ExecuteAction(this, uniqueFilesAction, "Поиск совпадений файлов"); DubsControlDialog dubsDialog = new DubsControlDialog(); dubsDialog.FileDict = uniqueFilesAction.FileDict; dubsDialog.FolderDict = uniqueFilesAction.FolderDict; dubsDialog.SnapshotsFiles = uniqueFilesAction.SnapshotsFiles; dubsDialog.ShowDialog(this); } }