Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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());
        }
Exemple #4
0
        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));
            }
        }
Exemple #5
0
 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()));
            }
        }
Exemple #7
0
        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()));
            }
        }
Exemple #8
0
        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);
            });
        }