Beispiel #1
0
		/// <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;
		}