public IQueryable <TData> Apply(IQueryable <TData> data, FilterOrderConfiguration configuration) { if (data == null) { throw new ArgumentNullException(nameof(data)); } if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } data = ApplyFilters(data, configuration.Filters); data = ApplyOrder(data, configuration.Order); return(data); }
private IQueryable <RowDataModel> ApplyFilteringOrdering(IEnumerable <Filter> filters = null, Order order = null) { var filterOrderConfiguration = new FilterOrderConfiguration(); if (filters != null) { foreach (var filter in filters) { filterOrderConfiguration.Filters.Add(filter); } } filterOrderConfiguration.Order = order; var returnedData = _sut.Apply(_rowDataModels, filterOrderConfiguration); return(returnedData); }