public static FilterDefinition <T> AddMongoFilters <T>(this BaseSearchFilters filters) { var builder = Builders <T> .Filter; FilterDefinition <T> filter = string.IsNullOrEmpty(filters.Keywords) ? builder.Empty : builder.Text(filters.Keywords); return(filter); }
public static IFindFluent <T, T> WithPaging <T>(this IFindFluent <T, T> queryResults, BaseSearchFilters filters) { queryResults.Skip(filters.Offset).Limit(filters.PageSize); return(queryResults); }
public static IFindFluent <T, T> WithSorting <T>(this IFindFluent <T, T> queryResults, BaseSearchFilters filters) { var sortBuilder = Builders <T> .Sort; SortDefinition <T> sortFilter; if (filters.SortMode != null && filters.SortField != null) { if (filters.SortMode.Equals("asc", System.StringComparison.InvariantCultureIgnoreCase)) { sortFilter = sortBuilder.Ascending(filters.SortField); } else { sortFilter = sortBuilder.Descending(filters.SortField); } queryResults.Sort(sortFilter); } return(queryResults); }