public MatchAllController(IODataModelSettingsProvider oDataModelSettingsProvider
                           , IODataFilterManager oDataFilterManager
                           , IODataRequestHelper oDataRequestHelper
                           , IGenericEntityRepository genericEntityRepository)
 {
     _oDataModelSettingsProvider = oDataModelSettingsProvider;
     _oDataFilterManager         = oDataFilterManager;
     _oDataRequestHelper         = oDataRequestHelper;
     _genericEntityRepository    = genericEntityRepository;
 }
        protected void BeforeEachBenchmark(int recordCount)
        {
            var collection = new ServiceCollection();

            collection.AddOData();
            collection.AddODataQueryFilter();
            _provider = collection.BuildServiceProvider();
            var routeBuilder = new RouteBuilder(Mock.Of <IApplicationBuilder>(x => x.ApplicationServices == _provider));

            routeBuilder.EnableDependencyInjection();
            _oDataRequestHelper      = new ODataRequestHelper();
            _edmEntityTypeSettings   = GetEdmEntityTypeSettings();
            _httpContext             = new DefaultHttpContext();
            _genericEntityRepository = new GenericEntityRepository(recordCount);
            _oDataRequestHelper.GetEdmModel(_httpContext.Request, _edmEntityTypeSettings, EdmNamespaceName);
        }
 public ODataFilterManager(IODataRequestHelper oDataRequestHelper
                           , IODataQueryValidator oDataQueryValidator
                           , IODataPredicateParser odataApplyPredicateParser
                           , IODataPredicateParser odataSelectPredicateParser
                           , IODataPredicateParser odataTopPredicateParser
                           , IODataPredicateParser odataSkipPredicateParser
                           , IODataPredicateParser odataOrderByPredicateParser
                           , IODataPredicateParser odataFilterPredicateParser)
 {
     _oDataRequestHelper          = oDataRequestHelper ?? throw new ArgumentNullException(nameof(oDataRequestHelper));
     _oDataQueryValidator         = oDataQueryValidator ?? throw new ArgumentNullException(nameof(oDataQueryValidator));
     _odataApplyPredicateParser   = odataApplyPredicateParser ?? throw new ArgumentNullException(nameof(odataApplyPredicateParser));
     _odataSelectPredicateParser  = odataSelectPredicateParser ?? throw new ArgumentNullException(nameof(odataSelectPredicateParser));
     _odataTopPredicateParser     = odataTopPredicateParser ?? throw new ArgumentNullException(nameof(odataTopPredicateParser));
     _odataSkipPredicateParser    = odataSkipPredicateParser ?? throw new ArgumentNullException(nameof(odataSkipPredicateParser));
     _odataOrderByPredicateParser = odataOrderByPredicateParser ?? throw new ArgumentNullException(nameof(odataOrderByPredicateParser));
     _odataFilterPredicateParser  = odataFilterPredicateParser ?? throw new ArgumentNullException(nameof(odataFilterPredicateParser));
 }