Exemplo n.º 1
0
        public static FilterDefinition <T> BuildFilterParams <T>(
            string rowFilterParams,
            IAliasStore aliasStore)
        {
            if (!string.IsNullOrWhiteSpace(rowFilterParams))
            {
                var orRules = orRegex.Matches(rowFilterParams)
                              .Cast <Match>()
                              .Select(m => m.Groups.Values?.ElementAt(1)?.Value)
                              .Where(x => !string.IsNullOrWhiteSpace(x))
                              .Select(x => $"{notDeletedExpr};{x}")
                              .ToArray();

                if (orRules.Length > 0)
                {
                    var filterDefinitionArray = orRules
                                                .Select(x => x.GetFilterDefinitions <T>(aliasStore))
                                                .Select(x => Builders <T> .Filter.And(x))
                                                .ToArray();

                    var orResult = Builders <T> .Filter.Or(filterDefinitionArray);

                    return(orResult);
                }
            }

            var filterArrey = rowFilterParams?
                              .GetFilterDefinitions <T>(aliasStore);

            var result = filterArrey != null
                ? Builders <T> .Filter.And(filterArrey)
                : Builders <T> .Filter.Empty;

            return(result);
        }
Exemplo n.º 2
0
        public StrictTerm(IAliasStore aliasStore, string rowTermData)
        {
            Require.Objects.NotNull(rowTermData, nameof(rowTermData));

            this.AliasStore  = aliasStore;
            this.rowTermData = rowTermData;
        }
Exemplo n.º 3
0
        public static List <FilterDefinition <T> > GetFilterDefinitions <T>(
            this string rowFilterParams,
            IAliasStore aliasStore)
        {
            var rawTerms = rowFilterParams
                           .GetRawTerms()
                           .Where(x => !string.IsNullOrWhiteSpace(x))
                           .ToList();

            var filters = rawTerms
                          .Select(data => new StrictTerm <T>(aliasStore, data))
                          .Select(term => term.GetDbTermFilterDefinition())
                          .ToList();

            return(filters);
        }
Exemplo n.º 4
0
 public AliasConverter(IAliasStore aliasStore, ILogger <AliasConverter> logger)
 {
     _aliasStore = aliasStore;
     _logger     = logger;
 }
 public QueryFilterBuilder(IAliasStore aliasStore)
 {
     this.aliasStore = aliasStore;
 }
 public void SetUp()
 {
     _store = new InMemoryAliasStore();
 }
Exemplo n.º 7
0
        public QuerySortBuilder(IAliasStore aliasStore)
        {
            Require.Objects.NotNull <BadRequestException>(aliasStore, nameof(aliasStore));

            this.aliasStore = aliasStore;
        }