Beispiel #1
0
 /// <summary>
 /// Применяет настройки фильтрации.
 /// </summary>
 /// <param name="query">Запрос.</param>
 /// <param name="filterSettings">Настройки фильтрации.</param>
 /// <returns>Запрос.</returns>
 static public IQueryable <Teacher> ApplyFilters
 (
     this IQueryable <Teacher> query,
     TeacherFilterSettings filterSettings
 )
 {
     if (filterSettings == null)
     {
         return(query);
     }
     if (filterSettings.DepartmentId.HasValue)
     {
         query = query.Where(x => x.DepartmentId == filterSettings.DepartmentId.Value);
     }
     if (filterSettings.TeachingType.HasValue)
     {
         query = query.Where(x => x.TeachingType == filterSettings.TeachingType.Value);
     }
     if (filterSettings.IsDepartmentHead.HasValue)
     {
         query = query.Where(x => x.IsDepartmentHead == filterSettings.IsDepartmentHead.Value);
     }
     return(query);
 }
Beispiel #2
0
 ///<inheritdoc/>
 public async Task <IEnumerable <Teacher> > FindAsync(TeacherFilterSettings filterSettings)
 {
     return(await _websiteDbContext.Teachers.ApplyFilters(filterSettings).ToArrayAsync());
 }