筛选优化
This commit is contained in:
1 parent
ccdfe977ba
commit
0ce758191e
7 files changed
+119
-6
No files matched your search
@@ -37,7 +37,9 @@ public sealed class TeachingTasksController(
|
||||
Guid? academicTermId = null,
|
||||
Guid? collegeId = null,
|
||||
TeachingTaskStatus? status = null,
|
||||
CancellationToken cancellationToken = default)
|
||||
CancellationToken cancellationToken = default,
|
||||
string? teacherKeyword = null,
|
||||
string? classKeyword = null)
|
||||
{
|
||||
page = Math.Max(1, page);
|
||||
pageSize = Math.Clamp(pageSize, 10, 100);
|
||||
@@ -56,6 +58,21 @@ public sealed class TeachingTasksController(
|
||||
x.Course!.Code.Contains(keyword) ||
|
||||
x.Course.Name.Contains(keyword));
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(teacherKeyword))
|
||||
{
|
||||
teacherKeyword = teacherKeyword.Trim();
|
||||
source = source.Where(x => x.Teachers.Any(item =>
|
||||
item.Teacher!.Name.Contains(teacherKeyword) ||
|
||||
item.Teacher.TeacherNumber.Contains(teacherKeyword)));
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(classKeyword))
|
||||
{
|
||||
classKeyword = classKeyword.Trim();
|
||||
source = source.Where(x => x.Classes.Any(item =>
|
||||
item.AdministrativeClass!.Code.Contains(classKeyword) ||
|
||||
item.AdministrativeClass.Name.Contains(classKeyword) ||
|
||||
item.AdministrativeClass.Major!.Name.Contains(classKeyword)));
|
||||
}
|
||||
|
||||
var total = await source.CountAsync(cancellationToken);
|
||||
var items = await source
|
||||
|
||||
Reference in new issue
Block a user