/// <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); }
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); } }
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); } }
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); }