public JoinBuilder(JoinSpecification <TEntity> specification, IAliasIdentifier left, IAliasIdentifier right, JoinDirection direction, params JoinColumnPair[] columnPairs) { Left = left; Right = right; Direction = direction; ColumnPairs = columnPairs; Specification = specification; }
public RefTable(ForeignKeyConstraint constraint, JoinDirection direction) { if (constraint == null) { throw new ArgumentNullException("constraint"); } Constraint = constraint; Direction = direction; }
public SelectOuterJoinCommand(string firstTable, string secondTable, string firstJoinColumn, string secondJoinColumn, IEnumerable <string> columnNames, JoinDirection joinDirection) { FirstTable = firstTable; SecondJoinColumn = secondTable; FirstJoinColumn = firstJoinColumn; SecondJoinColumn = secondJoinColumn; ColumnNames = columnNames; JoinDirection = joinDirection; }
public JoinTable(JoinTable referrer, ForeignKeyConstraint constraint, JoinDirection direction) { _joinBy = constraint; _joinDirection = direction; Table tbl = constraint.Table; _referrer = referrer; if (referrer == null) { _kind = JoinKind.Root; } else { _kind = referrer.Kind; if (_kind == JoinKind.Root) { _kind = JoinKind.Inner; } if (_kind != JoinKind.LeftOuter && _kind != JoinKind.FullOuter) { foreach (string c in constraint.Columns) { Column col = tbl.Columns[c]; if (!col.NotNull) { _kind = JoinKind.LeftOuter; break; } } } } switch (direction) { case JoinDirection.ReferFrom: _table = constraint.Table; ReferrerColumns = (string[])constraint.RefColumns.Clone(); JoinColumns = (string[])constraint.Columns.Clone(); break; case JoinDirection.ReferTo: _table = constraint.ReferenceConstraint.Table; ReferrerColumns = (string[])constraint.Columns.Clone(); JoinColumns = (string[])constraint.RefColumns.Clone(); break; default: throw new NotImplementedException(); } InitVisibleColumns(); }
private bool isCorrectOrientation(Tile tile1, Tile tile2, JoinDirection joinDirection) { switch (joinDirection) { case JoinDirection.Top: for (var i = 0; i < 10; i++) { if (tile1._bitmap[i, 0] != tile2._bitmap[i, 9]) { return(false); } } return(true); case JoinDirection.Bottom: for (var i = 0; i < 10; i++) { if (tile1._bitmap[i, 9] != tile2._bitmap[i, 0]) { return(false); } } return(true); case JoinDirection.Left: for (var i = 0; i < 10; i++) { if (tile1._bitmap[0, i] != tile2._bitmap[9, i]) { return(false); } } return(true); case JoinDirection.Right: for (var i = 0; i < 10; i++) { if (tile1._bitmap[9, i] != tile2._bitmap[0, i]) { return(false); } } return(true); default: throw new ArgumentOutOfRangeException(); } }
public JoinForm(Join join, IEnumerable <ScreenDocument> screens) { InitializeComponent(); this.join = join; joinType.SelectedIndex = 0; foreach (ScreenDocument s in screens) { screenOne.Items.Add(s.Name); screenTwo.Items.Add(s.Name); } Direction = join.direction; JoinWidth = join.Size; ScreenOne = join.screenOne; ScreenTwo = join.screenTwo; OffsetOne = join.offsetOne; OffsetTwo = join.offsetTwo; Type = join.type; }
public JoinBuilder(JoinSpecification <TEntity> specification, IAliasIdentifier left, IAliasIdentifier right, string rightAlias, JoinDirection direction, params JoinColumnPair[] columnPairs) : this(specification, left, right, direction, columnPairs) { _rightAlias = rightAlias; }
public static JoinQueryExpression Join(QueryExpression targetExpression, QueryExpression onExpression, JoinDirection direction = JoinDirection.Inner) { return(new JoinQueryExpression(targetExpression, direction, onExpression)); }
public static JoinQueryExpression Join(QueryExpression targetExpression, ColumnIdentifierQueryExpression leftColumn, ColumnIdentifierQueryExpression rightColumn, JoinDirection direction = JoinDirection.Inner) { return(new JoinQueryExpression(targetExpression, direction, AreEqual(leftColumn, rightColumn))); }
public JoinQueryExpression(QueryExpression targetExpression, JoinDirection direction, QueryExpression onExpression) { TargetExpression = targetExpression ?? throw new ArgumentNullException(nameof(targetExpression)); Direction = direction; OnExpression = onExpression ?? throw new ArgumentNullException(nameof(onExpression)); }
public static void AddRefTables(List <RefTable> list, IEnumerable <ForeignKeyConstraint> foreignKeys, JoinDirection direction) { foreach (ForeignKeyConstraint cons in foreignKeys) { list.Add(new RefTable(cons, direction)); } }
private void JoinAdjacentRegions(ImageRegion region1, ImageRegion region2, JoinDirection joinDirection) { switch (joinDirection) { case JoinDirection.Top: if (region2.Tile.BottomBoundary != region1.Tile.TopBoundary) { if (region2.Tile.LeftBoundary == region1.Tile.TopBoundary) { RotateTile(region2.Tile, 3); } if (region2.Tile.TopBoundary == region1.Tile.TopBoundary) { RotateTile(region2.Tile, 2); } if (region2.Tile.RightBoundary == region1.Tile.TopBoundary) { RotateTile(region2.Tile, 1); } } if (!isCorrectOrientation(region1.Tile, region2.Tile, joinDirection)) { Flip(region2.Tile, FlipOrientation.Vertical); } region1.Top.Set = true; region1.Top.Region = region2; region2.Bottom.Set = true; region2.Bottom.Region = region1; JoinToUsedAdjacentRegions(region2); break; case JoinDirection.Bottom: if (region2.Tile.TopBoundary != region1.Tile.BottomBoundary) { if (region2.Tile.LeftBoundary == region1.Tile.BottomBoundary) { RotateTile(region2.Tile, 1); } if (region2.Tile.BottomBoundary == region1.Tile.BottomBoundary) { RotateTile(region2.Tile, 2); } if (region2.Tile.RightBoundary == region1.Tile.BottomBoundary) { RotateTile(region2.Tile, 3); } } if (!isCorrectOrientation(region1.Tile, region2.Tile, joinDirection)) { Flip(region2.Tile, FlipOrientation.Vertical); } region1.Bottom.Set = true; region1.Bottom.Region = region2; region2.Top.Set = true; region2.Top.Region = region1; JoinToUsedAdjacentRegions(region2); break; case JoinDirection.Left: if (region2.Tile.RightBoundary != region1.Tile.LeftBoundary) { if (region2.Tile.LeftBoundary == region1.Tile.LeftBoundary) { RotateTile(region2.Tile, 2); } if (region2.Tile.BottomBoundary == region1.Tile.LeftBoundary) { RotateTile(region2.Tile, 3); } if (region2.Tile.TopBoundary == region1.Tile.LeftBoundary) { RotateTile(region2.Tile, 1); } } if (!isCorrectOrientation(region1.Tile, region2.Tile, joinDirection)) { Flip(region2.Tile, FlipOrientation.Horizontal); } region1.Left.Set = true; region1.Left.Region = region2; region2.Right.Set = true; region2.Right.Region = region1; JoinToUsedAdjacentRegions(region2); break; case JoinDirection.Right: if (region2.Tile.LeftBoundary != region1.Tile.RightBoundary) { if (region2.Tile.RightBoundary == region1.Tile.RightBoundary) { RotateTile(region2.Tile, 2); } if (region2.Tile.BottomBoundary == region1.Tile.RightBoundary) { RotateTile(region2.Tile, 1); } if (region2.Tile.TopBoundary == region1.Tile.RightBoundary) { RotateTile(region2.Tile, 3); } } if (!isCorrectOrientation(region1.Tile, region2.Tile, joinDirection)) { Flip(region2.Tile, FlipOrientation.Horizontal); } region1.Right.Set = true; region1.Right.Region = region2; region2.Left.Set = true; region2.Left.Region = region1; JoinToUsedAdjacentRegions(region2); break; } }