public List <ShallowRace> SearchRacesByName(string name) { List <ShallowRace> results; var search = FtsInterceptor.Fts(name.Trim().ToLower()); List <Race> foundRaces; using (var db = new RaceAnalysisDbContext()) { foundRaces = db.Races. Where(r => r.LongDisplayName.Contains(search)) .OrderBy(r => r.LongDisplayName).ToList(); // var results = shallow.Select(r => new ShallowRace() // { Name = r.RaceCategoryName, Id = r.ShortName }); } return(foundRaces.Select(r => new ShallowRace() { Name = r.RaceCategoryName, Id = r.ShortName }) .Distinct(new ShallowRaceComparer()).ToList()); // if (!shallowRaces.Contains(race, new ShallowRaceComparer())) // shallowRaces.Add(race); }
public IEnumerable <Article> SearchArticles(string searchRequest) { var fts = FtsInterceptor.Fts(searchRequest); var drafts = _context.Articles.Where(x => x.Title.Contains(fts) || x.Text.Contains(fts)); return(drafts); }
public List <ShallowTriathlete> SearchAthletesByName(string name, string[] raceIds = null) { List <ShallowTriathlete> results; var search = FtsInterceptor.Fts(name.Trim().ToLower()); using (var db = new RaceAnalysisDbContext()) { var triathletes = db.Triathletes.Include("RequestContext.RaceId"); var shallow = triathletes.OrderBy(t => t.Name).Select(t => new ShallowTriathlete() { Name = t.Name, Id = t.TriathleteId, RaceId = t.RequestContext.RaceId }). Where(t => t.Name.Contains(search)).Take(30); if (raceIds != null) { shallow = shallow.Where(a => raceIds.Contains(a.RaceId)); } results = shallow.ToList(); } return(results.Distinct(new ShallowTriathleteComparer()).ToList()); }
public IHttpActionResult GetDatasetsBySearch(string query) { if (query == null) { return(Ok(new List <Datasets> { })); } var s = FtsInterceptor.Fts("john"); using (var db = new AuthContext()) { var q = db.Datasets.Where(n => n.Description.Contains(query)).Where(u => u.ApprovalStatus == true); //var q = db.Notes.Where(n => n.NoteText.Contains(s)); var result = q.Take(10).ToList(); return(Ok(result)); } }
static void Main(string[] args) { using (var db = new WorldwideContext()) { Console.WriteLine("Press 1 run without Interceptor \n or 2 to run with interceptor : "); var option = Console.Read(); var watch = new Stopwatch(); watch.Start(); string s = string.Empty; s = option == '1' ? "NIPPON" : FtsInterceptor.Fts("NIPPON"); //s = FtsInterceptor.Fts("NIPPON"); var query = db.Shipments.Where(n => n.FromName.Contains(s) || n.ToName.Contains(s)); var x1 = query.Count(); watch.Stop(); Console.WriteLine("Completed in {0} seconds. Total records {1} Press any key to exit...", watch.Elapsed.Seconds, x1); Console.ReadKey(); } }
public JsonResult Search(string q, int page = 1) { try { const int resultsPerPage = 10; using (var context = new DatabaseContext()) { var reangedText = q; var termsSplitted = q.Split(' '); if (termsSplitted.Length > 1) { reangedText = ""; for (var i = 0; i < termsSplitted.Length; i++) { reangedText += string.Format("\"{0}\"", termsSplitted[i]); if (i < termsSplitted.Length - 1) { reangedText += "AND"; } } } var ftsQuery = FtsInterceptor.Fts(reangedText); var resultQuery = context.IndexedPages.Where(p => p.Title.Contains(ftsQuery)); var skip = resultsPerPage * (page - 1); var count = resultQuery.Count(); var items = resultQuery.OrderBy(r => r.ReplyCount).Skip(skip).Take(resultsPerPage).ToList(); return (Json(new SearchResult { CurrentPage = page, Items = items, NumberPerPage = resultsPerPage, TotalCount = count }, JsonRequestBehavior.AllowGet)); } } catch (Exception exception) { return(Json(new SearchResult())); } }
public ActionResult Post() { var query = Request.Form["SearchQuery"]; if (string.IsNullOrWhiteSpace(query)) { using (var context = new WikiContext()) { return(View("Index", context.WikiReferences.ToList())); } } query = Regex.Replace(query, @"\s+", " ").Trim(); query = query.Replace(" ", " OR "); var s = FtsInterceptor.Fts(query); using (var context = new WikiContext()) { return(View("Index", context.WikiReferences .Where(r => r.Content.Contains(s)).ToList())); } }
private void RegisterExpressions() { ExpressionCollection.Add(FilterOperator.Contains, (memberExpression, propertyInfo, value) => { var constant = GetConstantWithNullableCastHandle(memberExpression, propertyInfo, value); MethodInfo method = typeof(string).GetMethod("Contains", new[] { typeof(string) }); Expression compExpr = Expression.Call(memberExpression, method, constant); return(compExpr); }); ExpressionCollection.Add(FilterOperator.DoesNotContain, (memberExpression, propertyInfo, value) => { var constant = GetConstantWithNullableCastHandle(memberExpression, propertyInfo, value); MethodInfo method = typeof(string).GetMethod("Contains", new[] { typeof(string) }); Expression compExpr = Expression.Not(Expression.Call(memberExpression, method, constant)); compExpr = HandleNullComparison(compExpr, memberExpression, propertyInfo, value); return(compExpr); }); ExpressionCollection.Add(FilterOperator.IsContainedIn, (memberExpression, propertyInfo, value) => { var constant = GetConstantWithNullableCastHandle(memberExpression, propertyInfo, value); Expression compExpr = Expression.Call(constant, "Contains", new Type[] { }, memberExpression); return(compExpr); }); ExpressionCollection.Add(FilterOperator.IsNotContainedIn, (memberExpression, propertyInfo, value) => { var constant = GetConstantWithNullableCastHandle(memberExpression, propertyInfo, value); Expression compExpr = Expression.Not(Expression.Call(constant, "Contains", new Type[] { }, memberExpression)); return(compExpr); }); ExpressionCollection.Add(FilterOperator.StartsWith, (memberExpression, propertyInfo, value) => { var constant = GetConstantWithNullableCastHandle(memberExpression, propertyInfo, value); MethodInfo method = typeof(string).GetMethod("StartsWith", new[] { typeof(string) }); Expression compExpr = Expression.Call(memberExpression, method, constant); return(compExpr); }); ExpressionCollection.Add(FilterOperator.EndsWith, (memberExpression, propertyInfo, value) => { var constant = GetConstantWithNullableCastHandle(memberExpression, propertyInfo, value); MethodInfo method = typeof(string).GetMethod("EndsWith", new[] { typeof(string) }); Expression compExpr = Expression.Call(memberExpression, method, constant); return(compExpr); }); ExpressionCollection.Add(FilterOperator.IsEqualTo, (memberExpression, propertyInfo, value) => { var constant = GetConstantWithNullableCastHandle(memberExpression, propertyInfo, value); Expression compExpr = Expression.Equal(memberExpression, constant); return(compExpr); }); ExpressionCollection.Add(FilterOperator.IsEqualToOrNull, (memberExpression, propertyInfo, value) => { var constant = GetConstantWithNullableCastHandle(memberExpression, propertyInfo, value); Expression compExpr = Expression.Equal(memberExpression, constant); var nullConstant = GetConstantWithNullableCastHandle(memberExpression, propertyInfo, null); Expression nullCompExpr = Expression.Equal(memberExpression, nullConstant); return(Expression.Or(compExpr, nullCompExpr)); }); ExpressionCollection.Add(FilterOperator.IsNotEqualTo, (memberExpression, propertyInfo, value) => { var constant = GetConstantWithNullableCastHandle(memberExpression, propertyInfo, value); Expression compExpr = Expression.NotEqual(memberExpression, constant); compExpr = HandleNullComparison(compExpr, memberExpression, propertyInfo, value); return(compExpr); }); ExpressionCollection.Add(FilterOperator.IsGreaterThan, (memberExpression, propertyInfo, value) => { var constant = GetConstantWithNullableCastHandle(memberExpression, propertyInfo, value); Expression compExpr = Expression.GreaterThan(memberExpression, constant); return(compExpr); }); ExpressionCollection.Add(FilterOperator.IsGreaterThanOrEqualTo, (memberExpression, propertyInfo, value) => { var constant = GetConstantWithNullableCastHandle(memberExpression, propertyInfo, value); Expression compExpr = Expression.GreaterThanOrEqual(memberExpression, constant); return(compExpr); }); ExpressionCollection.Add(FilterOperator.IsLessThan, (memberExpression, propertyInfo, value) => { var constant = GetConstantWithNullableCastHandle(memberExpression, propertyInfo, value); Expression compExpr = Expression.LessThan(memberExpression, constant); return(compExpr); }); ExpressionCollection.Add(FilterOperator.IsGreaterThanOrNull, (memberExpression, propertyInfo, value) => { var constant = GetConstantWithNullableCastHandle(memberExpression, propertyInfo, value); Expression compExpr = Expression.GreaterThan(memberExpression, constant); var nullConstant = GetConstantWithNullableCastHandle(memberExpression, propertyInfo, null); Expression nullCompExpr = Expression.Equal(memberExpression, nullConstant); return(Expression.Or(compExpr, nullCompExpr)); }); ExpressionCollection.Add(FilterOperator.IsGreaterThanOrEqualToOrNull, (memberExpression, propertyInfo, value) => { var constant = GetConstantWithNullableCastHandle(memberExpression, propertyInfo, value); Expression compExpr = Expression.GreaterThanOrEqual(memberExpression, constant); var nullConstant = GetConstantWithNullableCastHandle(memberExpression, propertyInfo, null); Expression nullCompExpr = Expression.Equal(memberExpression, nullConstant); return(Expression.Or(compExpr, nullCompExpr)); }); ExpressionCollection.Add(FilterOperator.FullText, (memberExpression, propertyInfo, value) => { var ftsValue = FtsInterceptor.Fts(Convert.ToString(value)); var constant = GetConstantWithNullableCastHandle(memberExpression, propertyInfo, ftsValue); MethodInfo method = typeof(string).GetMethod("Contains", new[] { typeof(string) }); Expression compExpr = Expression.Call(memberExpression, method, constant); return(compExpr); }); }