Пример #1
0
        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);
        }