public void ResolveConflict(ConflictSet conflictSet, string chosenFilePath, bool deleteToRecycleBin) { if (chosenFilePath != conflictSet.File.FilePath && !conflictSet.Conflicts.Any(x => x.FilePath == chosenFilePath)) { throw new ArgumentException("chosenPath does not exist inside conflictSet"); } if (chosenFilePath == conflictSet.File.FilePath) { foreach (var file in conflictSet.Conflicts) { logger.Debug("Deleting {0}", file); this.DeleteFile(file.FilePath, deleteToRecycleBin); } } else { logger.Debug("Deleting {0}", conflictSet.File.FilePath); this.DeleteFile(conflictSet.File.FilePath, deleteToRecycleBin); foreach (var file in conflictSet.Conflicts) { if (file.FilePath == chosenFilePath) { continue; } logger.Debug("Deleting {0}", file.FilePath); this.DeleteFile(file.FilePath, deleteToRecycleBin); } logger.Debug("Renaming {0} to {1}", chosenFilePath, conflictSet.File.FilePath); this.filesystemProvider.MoveFile(chosenFilePath, conflictSet.File.FilePath); } }
public ConflictViewModel(ConflictSet conflictSet, string folderName) { this.ConflictSet = conflictSet; this.FolderId = folderName; this.ConflictOptions = new BindableCollection<ConflictOptionViewModel>(this.ConflictSet.Conflicts.Select(x => new ConflictOptionViewModel(x))); this.Icon = ShellTools.GetIcon(this.ConflictSet.File.FilePath, isFile: true); }
private bool ResolveConflict(ConflictSet conflictSet, string filePath) { // This can happen e.g. if the file chosen no longer exists try { this.conflictFileManager.ResolveConflict(conflictSet, filePath, this.DeleteToRecycleBin); return true; } catch (IOException e) { this.windowManager.ShowMessageBox( Localizer.F(Resources.ConflictResolutionView_Dialog_Failed_Message, e.Message), Resources.ConflictResolutionView_Dialog_Failed_Title, MessageBoxButton.OK, MessageBoxImage.Error ); return false; } }
public void ResolveConflict(ConflictSet conflictSet, string chosenFilePath, bool deleteToRecycleBin) { if (chosenFilePath != conflictSet.File.FilePath && !conflictSet.Conflicts.Any(x => x.FilePath == chosenFilePath)) throw new ArgumentException("chosenPath does not exist inside conflictSet"); if (chosenFilePath == conflictSet.File.FilePath) { foreach (var file in conflictSet.Conflicts) { logger.Debug("Deleting {0}", file); this.DeleteFile(file.FilePath, deleteToRecycleBin); } } else { logger.Debug("Deleting {0}", conflictSet.File.FilePath); this.DeleteFile(conflictSet.File.FilePath, deleteToRecycleBin); foreach (var file in conflictSet.Conflicts) { if (file.FilePath == chosenFilePath) continue; logger.Debug("Deleting {0}", file.FilePath); this.DeleteFile(file.FilePath, deleteToRecycleBin); } logger.Debug("Renaming {0} to {1}", chosenFilePath, conflictSet.File.FilePath); this.filesystemProvider.MoveFile(chosenFilePath, conflictSet.File.FilePath); } }