Пример #1
0
 public PredictorColumnSubQuery(PredictorSubQueryColumnEmbedded predictorSubQueryColumn, int predictorColumnIndex, PredictorSubQueryEntity subQuery, object?[] keys) :
     base(predictorColumnIndex)
 {
     PredictorSubQueryColumn = predictorSubQueryColumn;
     SubQuery = subQuery;
     Keys     = keys;
 }
Пример #2
0
    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);
    }
Пример #3
0
        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(),
            });
        }
Пример #4
0
 public PredictSubQueryDictionary(PredictorSubQueryEntity subQuery)
 {
     SubQuery = subQuery;
 }
Пример #5
0
 public PredictorPredictSubQueryContext(PredictorSubQueryEntity subQuery, Dictionary <object?[], Dictionary <PredictorSubQueryColumnEmbedded, List <PredictorCodification> > > groups)
 {
     SubQuery = subQuery;
     Groups   = groups;
 }
Пример #6
0
 static void PredictorMultiColumnEntity_Retrieved(PredictorSubQueryEntity subQuery, PostRetrievingContext ctx)
 {
     subQuery.ParseData();
 }
Пример #7
0
    public static void ParseData(this PredictorSubQueryEntity subQuery)
    {
        QueryDescription description = QueryLogic.Queries.QueryDescription(subQuery.Query.ToQueryName());

        subQuery.ParseData(description);
    }
Пример #8
0
 static void PredictorMultiColumnEntity_Retrieved(PredictorSubQueryEntity subQuery)
 {
     subQuery.ParseData();
 }