Пример #1
0
        /// <summary>
        /// Searches the specified query.
        /// </summary>
        /// <param name="query">The query.</param>
        public IEnumerable <TestCase> Search()
        {
            Expression <Func <TestCase, bool> > filter = compiler.Compile(this.InitialViewFilters.AdvancedSearchFilter);
            IEnumerable <TestCase> result = this.InitialTestCaseCollection.AsQueryable().Where(filter);

            return(result);
        }
        /// <summary>
        /// Searches this instance.
        /// </summary>
        /// <returns></returns>
        public IEnumerable <SharedStep> Search()
        {
            Expression <Func <SharedStep, bool> > filter = compiler.Compile(this.InitialViewFiltersSharedSteps.AdvancedSearchFilter);
            IEnumerable <SharedStep> result = this.InitialSharedStepsCollection.AsQueryable().Where(filter);

            return(result);
        }
Пример #3
0
        private void Search(string query)
        {
            Expression <Func <ProductViewModel, bool> > filter = compiler.Compile(query);
            IEnumerable <ProductViewModel> result = Products.AsQueryable().Where(filter);

            SearchResult.Clear();
            foreach (ProductViewModel product in result)
            {
                SearchResult.Add(product);
            }
        }
Пример #4
0
        public static void Main(string[] args)
        {
            Greet();

            SearchQueryCompiler <Product> compiler = SearchQueryCompilerBuilder.Instance.BuildUpDefaultCompilerForObject <Product>();
            IEnumerable <Product>         products = GetProducts();

            while (true)
            {
                Console.Write("$ ");
                string query = Console.ReadLine();
                if (query.ToLower() == "exit")
                {
                    break;
                }

                Expression <Func <Product, bool> > filter = compiler.Compile(query);
                IEnumerable <Product> result = products.AsQueryable().Where(filter);
                PrintProducts(result);
            }
        }
Пример #5
0
        public string CompileShouldReturnCorrectExpression(string query)
        {
            var entities = new List <ItemEntity>();

            entities.Add(new ItemEntity {
                Id = 0, Name = "Pen", UnitPrice = 100, DiscountRate = 1.0
            });
            entities.Add(new ItemEntity {
                Id = 1, Name = "Novel", UnitPrice = 500, DiscountRate = 15
            });
            entities.Add(new ItemEntity {
                Id = 2, Name = "Notebook", UnitPrice = 150, DiscountRate = 1.0
            });
            entities.Add(new ItemEntity {
                Id = 3, Name = "Name Printer", UnitPrice = 30000
            });
            entities.Add(new ItemEntity {
                Id = 4, Name = "Keyboard", UnitPrice = 5000, DiscountRate = 0.5
            });
            entities.Add(new ItemEntity {
                Id = 5, Name = "Mouse", UnitPrice = 2000, DiscountRate = 1.0
            });
            entities.Add(new ItemEntity {
                Id = 6, Name = "Flash Memory", UnitPrice = 3000, DiscountRate = 1.0
            });
            entities.Add(new ItemEntity {
                Id = 7, Name = "CD-RW", UnitPrice = 5000, DiscountRate = 1.0
            });
            entities.Add(new ItemEntity {
                Id = 8, Name = "Hard Disk", UnitPrice = 10000, DiscountRate = 0.1
            });
            entities.Add(new ItemEntity {
                Id = 9, Name = "Portable DVD Drive", UnitPrice = 25000, DiscountRate = 1.0
            });

            var result = testee.Compile(query);

            return(String.Join(",", entities.AsQueryable().Where(result).Select(o => o.Id)));
        }
        private void Search(string query)
        {
            var searchResult = Feeds.FirstOrDefault(o => o.Title == "Search Result");

            if (searchResult != null)
            {
                searchResult.Entries.Clear();
            }
            else
            {
                searchResult = new FeedViewModel(new DummyFeed {
                    Title = "Search Result"
                });
                var feeds = (ObservableCollection <FeedViewModel>)Feeds;
                feeds.Insert(0, searchResult);
            }

            var filter = compiler.Compile(query).Compile();

            Feeds.SelectMany(o => o.Entries).Where(filter).ToList().ForEach(o => searchResult.Entries.Add(o));

            feedsCollectionView.MoveCurrentTo(searchResult);
        }