Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();
        }