public QueryParser(Parameters parameters, GraphSchema graph, IClassCache cache) { IsParsed = false; ClassProperties = graph.Vertices .Select(v => v.Value.Properties) .SelectMany(x => x).Select(x => x.Name) .Distinct(); OrderBy = new OrderByClauseParser <TRootVertex>(x => _GetTokens(x), parameters.OrderBy, graph, TermHelper.OrderByTerms); Select = new SelectClauseParser <TRootVertex>(x => _GetTokens(x), parameters.Select, graph, TermHelper.SelectTerms); Filter = new FilterClauseParser <TRootVertex>(x => _GetTokens(x), parameters.Filter, TermHelper.FilterTerms); Expand = new ExpandClauseParser <TRootVertex>(x => _GetTokens(x), parameters.Expand, graph, Select, Filter, TermHelper.ExpandTerms); _Graph = graph; Cache = cache; Parse(); }
private void SetFilter(string filterString) { Filter = new FilterClauseParser <Dto>(x => _GetTokens(x), filterString, TermHelper.FilterTerms); }