public static AdvancedSearchCriteria Generate(QueryModel model, IEktronIdProvider idProvider) { TransformationVisitor.Transform(model); AdvancedSearchCriteria criteria = TranslationVisitor.Translate(model, idProvider); return criteria; }
public TranslationVisitor(IEktronIdProvider idProvider) { _exprTreeAggregator = new CriteriaExpressionTreeAggregator(); _orderByAggregator = new OrderByAggregator(); _idProvider = idProvider; _returnProperties = new List<PropertyExpression>(); }
public static AdvancedSearchCriteria Translate(QueryModel queryModel, IEktronIdProvider idProvider) { var visitor = new TranslationVisitor(idProvider); visitor.VisitQueryModel(queryModel); AdvancedSearchCriteria criteria = new AdvancedSearchCriteria { ExpressionTree = visitor.ExpressionTree, OrderBy = visitor.OrderByData, ReturnProperties = new HashSet<PropertyExpression>(visitor._returnProperties) }; if (criteria.ExpressionTree == null) { criteria.ExpressionTree = SearchType.IsContent(); } return criteria; }
public SubQueryTests() { _idProvider = new IdProvider(); }