/// <summary> /// Actually starts the file copy process on a seperate thread. /// </summary> private void StartFileCopy() { int totalCount = 0; int copiedCount = 0; try { FileManipulator.DeepCopy(sourcePath, destinationPath, (copied) => { totalCount++; if (copied) { copiedCount++; } this._view.SetProgress(totalCount); this._view.DisplayProgressMessage($"Copied {copiedCount}, ignored {totalCount - copiedCount} of {totalCount} checked items out of {numberOfFiles} items"); }); } catch (Exception e) { this._view.DisplayErrorMessage(e.Message); this._view.DoneCopyingFiles(); return; } this._view.DisplayMessage($"Done copying. Copied {copiedCount}, ignored {totalCount - copiedCount} of {totalCount} checked items out of {numberOfFiles} items"); this._view.DoneCopyingFiles(); }