private void ExecuteOperations(DirectoryInfo sourceDirectory, DirectoryInfo destDirectory, DifferenceCalculationResults results) { IEnumerable <FileOperationItem> operations = results .Where(x => x.OperationError.ErrorLevel <= OperationErrorLevel.Information) .Select(x => x.FileOperationItem); #if DEBUG List <FileOperationItem> operationsList = operations.ToList(); operations = operationsList; #endif if (!operations.Any()) { MessageBox.Show(this, "No differences were detected, No action is required.", "", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } FileOperation.FileOperation fileOperation = null; try { fileOperation = new FileOperation.FileOperation(Handle) { OperationsFlags = FileOperationFlags.NoConfirmDirectoryCreation | FileOperationFlags.NoConfirmation }; foreach (FileOperationItem operation in operations) { fileOperation.AddOperation(operation); } if (MessageBox.Show(this, "Are you sure you want to start the operations?", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } fileOperation.PerformOperations(); MessageBox.Show(this, "Done.", "", MessageBoxButtons.OK, MessageBoxIcon.Information); //this.Btn_Ok.Enabled = false; } finally { fileOperation?.Dispose(); } }
private void Form1_Load(object sender, EventArgs e) { using (var fileOperation = new FileOperation.FileOperation(this.Handle)) { fileOperation.AddOperation(new CopyFileOperation( @"D:\Program Files (x86)\3DO\Heroes 3 Complete\H3MAPED.HLP", @"D:\Desktop" )); fileOperation.AddOperation(new DeleteFileOperation( @"D:\Desktop\a.txt" )); fileOperation.AddOperation(new CopyFileOperation( @"D:\Program Files (x86)\3DO\Heroes 3 Complete\h3ccmped.cnt", @"D:\\Desktop" )); fileOperation.AddOperation(new CopyFileOperation( @"D:\Program Files (x86)\3DO\Heroes 3 Complete\H3AB_Manual.pdf", @"D:\Desktop" )); fileOperation.PerformOperations(); } }
internal override void AddToFileOperationQueue(FileOperation fileOperation) { fileOperation.AddRenameFileOperation(this); }
public FileOperationProgressSink(FileOperation fileOperation) { this.fileOperation = fileOperation; }