public IEnumerable<EventWithMarketEntity> Search(string searchText)
        {
            var searchHelper = new SearchHelper<EventWithMarketEntity>(searchText);
            searchHelper.RegisterHintFilter(GetSearchFilters().ToArray());

            var filters = searchHelper.GetValidFilters();
            var toIncludePathList = searchHelper.GetToIncludePathInQuery();

            var query = toIncludePathList.Aggregate(_context.Set<EventWithMarketEntity>().AsQueryable(),
                (current, include) => current.Include(include)).AsEnumerable();

            query = filters.Aggregate(query, (current, filter) => current.Where(filter));

            return query.ToList();
        }
        public IEnumerable<BetCombinationEntity> SearchBets(string searchText)
        {
            var searchHelper = new SearchHelper<BetCombinationEntity>(searchText);
            searchHelper.RegisterHintFilter(GetSearchFilters().ToArray());

            var filters = searchHelper.GetValidFilters();
            var toIncludePathList = searchHelper.GetToIncludePathInQuery();

            // Always include retrieve coupon data in query
            var query = toIncludePathList.Aggregate(_context.Set<BetCombinationEntity>().AsQueryable(),
                (current, include) => current.Include(include)).Include(e => e.Coupon).AsEnumerable();

            query = filters.Aggregate(query, (current, filter) => current.Where(filter));

            return query.ToList();
        }