Ejemplo n.º 1
0
 internal static IQueryable<Establishment> WithName(this IQueryable<Establishment> queryable, string term, StringMatchStrategy matchStrategy)
 {
     var names = QueryEstablishmentNames.SearchTermMatches(term, matchStrategy);
     // ReSharper disable ConvertClosureToMethodGroup
     Expression<Func<Establishment, bool>> establishments = establishment => establishment.Names.Any(name => names.Invoke(name));
     // ReSharper restore ConvertClosureToMethodGroup
     return queryable.AsExpandable().Where(establishments.Expand());
 }
Ejemplo n.º 2
0
        internal static IQueryable<Place> WithName(this IQueryable<Place> queryable, string term, StringMatchStrategy matchStrategy)
        {
            var matchesName =
                OfficialNameMatches(term, matchStrategy)
                //.Or
                //(
                //    NonOfficialNameMatches(term, matchStrategy)
                //)
            ;

            return queryable.AsExpandable().Where(matchesName);
        }
Ejemplo n.º 3
0
        internal static IQueryable<Agreement> MatchingPlaceParticipantOrContact(this IQueryable<Agreement> queryable, string keyword)
        {
            if (string.IsNullOrWhiteSpace(keyword)) return queryable;

            var matchesPlaceParticipantOrContact = NonOwnerPlaceNameMatches(keyword)
                .Or(ParticipantNameMatches(keyword))
                .Or(ContactMatches(keyword));

            return queryable.AsExpandable().Where(matchesPlaceParticipantOrContact);
        }