/// <summary> /// Renames the documents using the items and functions registered in <paramref name="renameData"/>. /// </summary> /// <param name="renameData">Data that provideds the items to rename, the functions etc.</param> /// <returns>If the action was successfull, an empty list. If the action was only partially successfull, the returned list contains those objects, for which the rename action failed.</returns> public static List<object> RenameDocuments(Altaxo.Gui.Common.MultiRename.MultiRenameData renameData) { List<object> renameFailedObjects = new List<object>(); // first, give all items a new, random name for (int i = 0; i < renameData.ObjectsToRenameCount; ++i) { object o = renameData.GetObjectToRename(i); string oldName = GetFullName(o); string newName = oldName + "_._" + System.Guid.NewGuid().ToString(); SetName(o, newName); } // now, try to set the new assigned name for (int i = 0; i < renameData.ObjectsToRenameCount; ++i) { object o = renameData.GetObjectToRename(i); string newName = renameData.GetNewNameForObject(i); try { SetName(o, newName); } catch (Exception) { renameFailedObjects.Add(o); } } return renameFailedObjects; }