namespace WatchIt.DTO.Query; public interface IFilterQuery; public interface IFilterQuery : IFilterQuery { internal abstract IEnumerable> GetFilters(); } public static class FilterQueryExtensions { public static IQueryable ApplyFilter(this IQueryable data, IFilterQuery filterQuery) { foreach (Filter filter in filterQuery.GetFilters()) { data = data.Where(filter); } return data; } }