Merge branch 'master' into feature/files
This commit is contained in:
commit
4d50abfb63
@ -174,16 +174,16 @@ namespace ASC.Files.Core.Data
|
||||
return MappingID(id, false);
|
||||
}
|
||||
|
||||
internal static bool BuildSearch(IDbSearch dbSearch, string text, SearhTypeEnum searhTypeEnum)
|
||||
internal static IQueryable<T> BuildSearch<T>(IQueryable<T> query, string text, SearhTypeEnum searhTypeEnum) where T : IDbSearch
|
||||
{
|
||||
var lowerTitle = dbSearch.Title.ToLower();
|
||||
var lowerText = text.ToLower().Trim().Replace("%", "\\%").Replace("_", "\\_");
|
||||
|
||||
return searhTypeEnum switch
|
||||
{
|
||||
SearhTypeEnum.Start => lowerTitle.StartsWith(lowerText),
|
||||
SearhTypeEnum.End => lowerTitle.EndsWith(lowerText),
|
||||
SearhTypeEnum.Any => lowerTitle.Contains(lowerText),
|
||||
_ => lowerTitle.EndsWith(lowerText),
|
||||
SearhTypeEnum.Start => query.Where(r => r.Title.ToLower().StartsWith(lowerText)),
|
||||
SearhTypeEnum.End => query.Where(r => r.Title.ToLower().EndsWith(lowerText)),
|
||||
SearhTypeEnum.Any => query.Where(r => r.Title.ToLower().Contains(lowerText)),
|
||||
_ => query,
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -181,7 +181,7 @@ namespace ASC.Files.Core.Data
|
||||
}
|
||||
else
|
||||
{
|
||||
query = query.Where(r => BuildSearch(r, searchText, SearhTypeEnum.Any));
|
||||
query = BuildSearch(query, searchText, SearhTypeEnum.Any);
|
||||
}
|
||||
}
|
||||
|
||||
@ -211,7 +211,7 @@ namespace ASC.Files.Core.Data
|
||||
case FilterType.ByExtension:
|
||||
if (!string.IsNullOrEmpty(searchText))
|
||||
{
|
||||
query = query.Where(r => BuildSearch(r, searchText, SearhTypeEnum.End));
|
||||
query = BuildSearch(query, searchText, SearhTypeEnum.End);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -261,7 +261,7 @@ namespace ASC.Files.Core.Data
|
||||
}
|
||||
else
|
||||
{
|
||||
q = q.Where(r => BuildSearch(r, searchText, SearhTypeEnum.Any));
|
||||
q = BuildSearch(q, searchText, SearhTypeEnum.Any);
|
||||
}
|
||||
}
|
||||
|
||||
@ -313,7 +313,7 @@ namespace ASC.Files.Core.Data
|
||||
case FilterType.ByExtension:
|
||||
if (!string.IsNullOrEmpty(searchText))
|
||||
{
|
||||
q = q.Where(r => BuildSearch(r, searchText, SearhTypeEnum.End));
|
||||
q = BuildSearch(q, searchText, SearhTypeEnum.End);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -970,7 +970,7 @@ namespace ASC.Files.Core.Data
|
||||
}
|
||||
else
|
||||
{
|
||||
q = q.Where(r => BuildSearch(r, searchText, SearhTypeEnum.Any));
|
||||
q = BuildSearch(q, searchText, SearhTypeEnum.Any);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1000,7 +1000,7 @@ namespace ASC.Files.Core.Data
|
||||
case FilterType.ByExtension:
|
||||
if (!string.IsNullOrEmpty(searchText))
|
||||
{
|
||||
q = q.Where(r => BuildSearch(r, searchText, SearhTypeEnum.End));
|
||||
q = BuildSearch(q, searchText, SearhTypeEnum.End);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1023,7 +1023,7 @@ namespace ASC.Files.Core.Data
|
||||
}
|
||||
else
|
||||
{
|
||||
var query = GetFileQuery(r => r.CurrentVersion && BuildSearch(r, searchText, SearhTypeEnum.Any));
|
||||
var query = BuildSearch(GetFileQuery(r => r.CurrentVersion), searchText, SearhTypeEnum.Any);
|
||||
return FromQueryWithShared(query)
|
||||
.Where(f =>
|
||||
bunch
|
||||
|
@ -160,13 +160,14 @@ namespace ASC.Files.Core.Data
|
||||
|
||||
if (orderBy == null) orderBy = new OrderBy(SortedByType.DateAndTime, false);
|
||||
|
||||
var q = GetFolderQuery(r => r.ParentId.ToString() == parentId.ToString());
|
||||
var parentIdString = parentId.ToString();
|
||||
var q = GetFolderQuery(r => r.ParentId.ToString() == parentIdString);
|
||||
|
||||
if (withSubfolders)
|
||||
{
|
||||
q = GetFolderQuery()
|
||||
.Join(FilesDbContext.Tree, r => r.Id, a => a.FolderId, (folder, tree) => new { folder, tree })
|
||||
.Where(r => r.tree.ParentId.ToString() == parentId.ToString() && r.tree.Level != 0)
|
||||
.Where(r => r.tree.ParentId.ToString() == parentIdString && r.tree.Level != 0)
|
||||
.Select(r => r.folder);
|
||||
}
|
||||
|
||||
@ -178,7 +179,7 @@ namespace ASC.Files.Core.Data
|
||||
}
|
||||
else
|
||||
{
|
||||
q = q.Where(r => BuildSearch(r, searchText, SearhTypeEnum.Any));
|
||||
q = BuildSearch(q, searchText, SearhTypeEnum.Any);
|
||||
}
|
||||
}
|
||||
|
||||
@ -248,7 +249,7 @@ namespace ASC.Files.Core.Data
|
||||
}
|
||||
else
|
||||
{
|
||||
q = q.Where(r => BuildSearch(r, searchText, SearhTypeEnum.Any));
|
||||
q = BuildSearch(q, searchText, SearhTypeEnum.Any);
|
||||
}
|
||||
}
|
||||
|
||||
@ -694,7 +695,7 @@ namespace ASC.Files.Core.Data
|
||||
return FromQueryWithShared(q1);
|
||||
}
|
||||
|
||||
var q = GetFolderQuery(r => BuildSearch(r, text, SearhTypeEnum.Any));
|
||||
var q = BuildSearch(GetFolderQuery(), text, SearhTypeEnum.Any);
|
||||
return FromQueryWithShared(q);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user