public static void MoveFolders(IYZDbProvider provider, IDbConnection cn, int[] folderids, int targetfolderid, MovePosition position) { Folder targetFolder = DirectoryManager.GetFolderByID(provider, cn, targetfolderid); FolderCollection folders; int parentFolderId; if (position == MovePosition.Append) { parentFolderId = targetFolder.FolderID; } else { parentFolderId = targetFolder.ParentID; } foreach (int folderid in folderids) { Folder folder = new Folder(); folder.FolderID = folderid; folder.ParentID = parentFolderId; folder.RootID = targetFolder.RootID; DirectoryManager.UpdateParent(provider, cn, folder); } folders = DirectoryManager.GetFolders(provider, cn, parentFolderId, null, null); folders.Move <int>("FolderID", folderids, targetfolderid, position); for (int i = 0; i < folders.Count; i++) { Folder folder = folders[i]; folder.OrderIndex = i; DirectoryManager.UpdateOrderIndex(provider, cn, folder); } }
public static void MoveFiles(IYZDbProvider provider, IDbConnection cn, int folderid, int[] fileids, int targetfileid, MovePosition position) { FileCollection files = GetFiles(provider, cn, folderid, null, null, -1); files.Move <int>("ID", fileids, targetfileid, position); for (int i = 0; i < files.Count; i++) { File file = files[i]; file.OrderIndex = i; DirectoryManager.UpdateOrderIndex(provider, cn, file); } }