Files: optimization

This commit is contained in:
pavelbannov 2020-12-11 11:46:41 +03:00
parent cd72aa3d12
commit 0a775abb82
2 changed files with 17 additions and 4 deletions

View File

@ -77,8 +77,21 @@ namespace ASC.Files.Core.Data
public IEnumerable<Tag> GetTags(Guid subject, TagType tagType, IEnumerable<FileEntry<T>> fileEntries)
{
var filesId = fileEntries.Where(e => e.FileEntryType == FileEntryType.File).Select(e => MappingID(e.ID).ToString()).ToList();
var foldersId = fileEntries.Where(e => e.FileEntryType == FileEntryType.Folder).Select(e => MappingID(e.ID).ToString()).ToList();
var filesId = new HashSet<string>();
var foldersId = new HashSet<string>();
foreach(var f in fileEntries)
{
var id = MappingID(f.ID).ToString();
if (f.FileEntryType == FileEntryType.File)
{
filesId.Add(id);
}
else if (f.FileEntryType == FileEntryType.Folder)
{
foldersId.Add(id);
}
}
var q = Query(FilesDbContext.Tag)
.Join(FilesDbContext.TagLink, r => r.Id, l => l.TagId, (tag, link) => new TagLinkData { Tag = tag, Link = link })
@ -406,7 +419,7 @@ namespace ASC.Files.Core.Data
.ToList();
var entryIds = tags.Select(r => r.EntryId).ToList();
var entryTypes = tags.Select(r => (int)r.EntryType).ToList();
var entryTypes = tags.Select(r => (int)r.EntryType).Distinct().ToList();
var sqlQuery = Query(FilesDbContext.Tag)
.Join(FilesDbContext.TagLink, r => r.Id, l => l.TagId, (tag, link) => new TagLinkData { Tag = tag, Link = link })

View File

@ -180,7 +180,7 @@ namespace ASC.Api.Documents
List<Tuple<FileEntry<T1>, bool>> GetFoldersIntWithRights<T1>()
{
var folderDao = DaoFactory.GetFolderDao<T1>();
var folders = folderDao.GetFolders(folderItems.Entries.OfType<FileEntry<T1>>().Select(r => r.FolderID).ToList());
var folders = folderDao.GetFolders(folderItems.Entries.OfType<FileEntry<T1>>().Select(r => r.FolderID).Distinct().ToList());
return FileSecurity.CanRead(folders);
}
}