diff --git a/products/ASC.Files/Core/Helpers/FilesMessageService.cs b/products/ASC.Files/Core/Helpers/FilesMessageService.cs index 000499f391..d63f2f60aa 100644 --- a/products/ASC.Files/Core/Helpers/FilesMessageService.cs +++ b/products/ASC.Files/Core/Helpers/FilesMessageService.cs @@ -142,7 +142,7 @@ public async Task SendCopyMessageAsync(FileEntry target, Folder } } - public async Task SendMoveMessageAsync(FileEntry target, Folder from, Folder to, List> toParents, bool overwrite, + public async Task SendMoveMessageAsync(FileEntry target, Folder from, Folder to, List> toParents, bool overwrite, IDictionary headers, string[] description) { var action = target switch diff --git a/products/ASC.Files/Core/Services/WCFService/FileOperations/FileMoveCopyOperation.cs b/products/ASC.Files/Core/Services/WCFService/FileOperations/FileMoveCopyOperation.cs index 64dc6bbc6e..c1805e740d 100644 --- a/products/ASC.Files/Core/Services/WCFService/FileOperations/FileMoveCopyOperation.cs +++ b/products/ASC.Files/Core/Services/WCFService/FileOperations/FileMoveCopyOperation.cs @@ -616,7 +616,7 @@ private async Task>> MoveOrCopyFoldersAsync(IServiceScope newFolderId = await FolderDao.MoveFolderAsync(folder.Id, toFolderId, CancellationToken); newFolder = await folderDao.GetFolderAsync(newFolderId); - await filesMessageService.SendMoveMessageAsync(folder, await parentFolderTask, toFolder, toFolderParents, true, _headers, [newFolder.Title, toFolder.Title, toFolder.Id.ToString()]); + await filesMessageService.SendMoveMessageAsync(newFolder, await parentFolderTask, toFolder, toFolderParents, true, _headers, [newFolder.Title, toFolder.Title, toFolder.Id.ToString()]); if (isToFolder) { @@ -644,7 +644,6 @@ private async Task>> MoveOrCopyFoldersAsync(IServiceScope else { await fileMarker.RemoveMarkAsNewForAllAsync(folder); - var rootFolder = await FolderDao.GetFolderAsync(folder.RootId); TTo newFolderId = default; @@ -739,7 +738,11 @@ await socketManager.DeleteFolder(folder, action: async () => else { var parentFolder = await parentFolderTask; - await filesMessageService.SendMoveMessageAsync(folder, parentFolder, toFolder, toFolderParents, true, _headers, [folder.Title, parentFolder.Title, toFolder.Title, toFolder.Id.ToString()]); + newFolder = await folderDao.GetFolderAsync(newFolderId); + if (newFolder != null) + { + await filesMessageService.SendMoveMessageAsync(newFolder, parentFolder, toFolder, toFolderParents, true, _headers, [folder.Title, parentFolder.Title, toFolder.Title, toFolder.Id.ToString()]); + } } @@ -925,7 +928,7 @@ private async Task>> MoveOrCopyFilesAsync(IServiceScope await socketManager.DeleteFileAsync(file, action: async () => newFileId = await FileDao.MoveFileAsync(file.Id, toFolderId, deleteLinks)); newFile = await fileDao.GetFileAsync(newFileId); - await filesMessageService.SendMoveMessageAsync(file, parentFolder, toFolder, toParentFolders, false, _headers, [file.Title, parentFolder.Title, toFolder.Title, toFolder.Id.ToString()]); + await filesMessageService.SendMoveMessageAsync(newFile, parentFolder, toFolder, toParentFolders, false, _headers, [file.Title, parentFolder.Title, toFolder.Title, toFolder.Id.ToString()]); if (file.RootFolderType == FolderType.TRASH && newFile.ThumbnailStatus == Thumbnail.NotRequired) { @@ -1067,7 +1070,7 @@ await socketManager.DeleteFileAsync(file, action: async () => await LinkDao.DeleteAllLinkAsync(file.Id); }); - await filesMessageService.SendMoveMessageAsync(file, parentFolder, toFolder, toParentFolders, true, _headers, [file.Title, parentFolder.Title, toFolder.Title, toFolder.Id.ToString()]); + await filesMessageService.SendMoveMessageAsync(newFile, parentFolder, toFolder, toParentFolders, true, _headers, [file.Title, parentFolder.Title, toFolder.Title, toFolder.Id.ToString()]); if (ProcessedFile(fileId)) {