public DataManipulationTargetColumnPivot(
     int targetOrder, QsiTableColumn targetColumn,
     int declaredOrder, QsiTableColumn declaredColumn)
 {
     TargetOrder    = targetOrder;
     TargetColumn   = targetColumn;
     DeclaredOrder  = declaredOrder;
     DeclaredColumn = declaredColumn;
 }
Example #2
0
        private static IEnumerable <QsiTableColumn> FlattenReferenceColumnsInternal(QsiTableColumn column, HashSet <QsiTableColumn> visited)
        {
            foreach (var reference in column.References.Where(r => !visited.Contains(r)))
            {
                visited.Add(reference);

                yield return(reference);

                foreach (var childReference in FlattenReferenceColumnsInternal(reference, visited))
                {
                    yield return(childReference);
                }

                visited.Remove(reference);
            }
        }
Example #3
0
        private QsiColumnTreeItem(QsiTableColumn column, int depth, HashSet <QsiTableColumn> recursiveTracker)
        {
            Depth  = depth;
            Column = column;

            if (recursiveTracker.Contains(column))
            {
                IsRecursive = true;
                return;
            }

            recursiveTracker.Add(column);

            Items = column.References
                    .Select(c => new QsiColumnTreeItem(c, depth + 1, recursiveTracker))
                    .ToArray();

            recursiveTracker.Remove(column);
        }
Example #4
0
 protected virtual QsiIdentifier ResolveCompoundColumnName(TableCompileContext context, IQsiDerivedTableNode table, IQsiColumnNode column, QsiTableColumn refColumn)
 {
     return(refColumn.Name);
 }
Example #5
0
 public static IEnumerable <QsiTableColumn> FlattenReferenceColumns(QsiTableColumn column)
 {
     return(FlattenCore(column, c => c.References, x => IsReferenceType(x.Parent.Type)));
 }
Example #6
0
 public static IEnumerable <QsiTableColumn> FlattenColumns(QsiTableColumn column)
 {
     return(FlattenCore(column, c => c.References, _ => true));
 }
Example #7
0
 public QsiColumnTreeItem(QsiTableColumn column, int depth = 0) : this(column, depth, new HashSet <QsiTableColumn>())
 {
 }
Example #8
0
 public static IEnumerable <QsiTableColumn> FlattenReferenceColumns(QsiTableColumn column)
 {
     return(FlattenReferenceColumnsInternal(column, new HashSet <QsiTableColumn>()));
 }