public ItemList<FileOperationResult> EmptyTrash() { using (var folderDao = GetFolderDao()) using (var fileDao = GetFileDao()) { var trashId = folderDao.GetFolderIDTrash(true); var foldersId = folderDao.GetFolders(trashId).Select(f => f.ID).ToList(); var filesId = folderDao.GetFiles(trashId, false).ToList(); foldersId.ForEach(folderId => { var folder = folderDao.GetFolder(folderId); if (folder.RootFolderType == FolderType.BUNCH || folder.RootFolderType == FolderType.TRASH) FilesActivityPublisher.DeleteFolder(folder); }); filesId.ForEach(fileId => { var file = fileDao.GetFile(fileId); if (file.RootFolderType == FolderType.BUNCH || file.RootFolderType == FolderType.TRASH) FilesActivityPublisher.DeleteFile(file); }); var task = new FileDeleteOperation(CoreContext.TenantManager.GetCurrentTenant(), foldersId, filesId); Tasks.Add(task); } return GetTasksStatuses(); }
public ItemList<FileOperationResult> DeleteItems(ItemList<String> items) { List<object> foldersId; List<object> filesId; ParseArrayItems(items, out foldersId, out filesId); using (var folderDao = GetFolderDao()) using (var fileDao = GetFileDao()) { foldersId.ForEach(folderId => { var folder = folderDao.GetFolder(folderId); if (folder != null) { if (folder.RootFolderType == FolderType.BUNCH || folder.RootFolderType == FolderType.TRASH) FilesActivityPublisher.DeleteFolder(folder); } }); filesId.ForEach(fileId => { var file = fileDao.GetFile(fileId); if (file != null) { if (file.RootFolderType == FolderType.BUNCH || file.RootFolderType == FolderType.TRASH) FilesActivityPublisher.DeleteFile(file); } }); } var task = new FileDeleteOperation(CoreContext.TenantManager.GetCurrentTenant(), foldersId, filesId); Tasks.Add(task); return GetTasksStatuses(); }