public PredictorColumnSubQuery(PredictorSubQueryColumnEmbedded predictorSubQueryColumn, int predictorColumnIndex, PredictorSubQueryEntity subQuery, object?[] keys) : base(predictorColumnIndex) { PredictorSubQueryColumn = predictorSubQueryColumn; SubQuery = subQuery; Keys = keys; }
static string?SubQueryColumns_StaticPropertyValidation(PredictorSubQueryEntity sq, PropertyInfo pi) { var p = sq.GetParentEntity <PredictorEntity>() !; var tokens = GetParentKeys(p.MainQuery); var current = sq.Columns.Where(a => a.Usage == PredictorSubQueryColumnUsage.ParentKey); if (tokens.Count != current.Count()) { return(PredictorMessage.ThereShouldBe0ColumnsWith12Currently3.NiceToString( tokens.Count, ReflectionTools.GetPropertyInfo((PredictorSubQueryColumnEmbedded c) => c.Usage), PredictorSubQueryColumnUsage.ParentKey.NiceToString(), current.Count())); } return(null); }
public static QueryRequest ToMultiColumnQuery(PredictorMainQueryEmbedded mainQuery, PredictorSubQueryEntity sq) { var parentKey = sq.Columns.SingleEx(a => a.Usage == PredictorSubQueryColumnUsage.ParentKey); var filterList = mainQuery.Filters.ToFilterList(); var mainFilters = mainQuery.Query.Is(sq.Query) ? filterList : filterList.Select(f => PrependToken(f, parentKey.Token.Token)).ToList(); var additionalFilters = sq.Filters.ToFilterList(); var columns = sq.Columns.Select(c => new Column(c.Token.Token, null)).ToList(); return(new QueryRequest { GroupResults = true, QueryName = sq.Query.ToQueryName(), Filters = mainFilters.Concat(additionalFilters).ToList(), Columns = columns, Orders = new List <Order>(), Pagination = new Pagination.All(), }); }
public PredictSubQueryDictionary(PredictorSubQueryEntity subQuery) { SubQuery = subQuery; }
public PredictorPredictSubQueryContext(PredictorSubQueryEntity subQuery, Dictionary <object?[], Dictionary <PredictorSubQueryColumnEmbedded, List <PredictorCodification> > > groups) { SubQuery = subQuery; Groups = groups; }
static void PredictorMultiColumnEntity_Retrieved(PredictorSubQueryEntity subQuery, PostRetrievingContext ctx) { subQuery.ParseData(); }
public static void ParseData(this PredictorSubQueryEntity subQuery) { QueryDescription description = QueryLogic.Queries.QueryDescription(subQuery.Query.ToQueryName()); subQuery.ParseData(description); }
static void PredictorMultiColumnEntity_Retrieved(PredictorSubQueryEntity subQuery) { subQuery.ParseData(); }