UnionCqlBlock.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataEntity / System / Data / Map / ViewGeneration / CqlGeneration / UnionCqlBlock.cs / 1 / UnionCqlBlock.cs

                            //---------------------------------------------------------------------- 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// 
// @owner [....]
// @backupOwner [....] 
//--------------------------------------------------------------------- 

using System.Collections.Generic; 
using System.Text;
using System.Data.Mapping.ViewGeneration.Structures;
using System.Data.Common.Utils;
 
namespace System.Data.Mapping.ViewGeneration.CqlGeneration {
 
    // This class corresponds to Union nodes in the tree 
    internal class UnionCqlBlock : CqlBlock {
        #region Constructor 
        // effects: Creates a union CqlBlock with SELECT (slotinfos), FROM
        // (children), WHERE (true), AS (blockAliasNum)
        internal UnionCqlBlock(SlotInfo[] slotInfos, List children, CqlIdentifiers identifiers, int blockAliasNum) :
            base(slotInfos, children, BoolExpression.True, identifiers, blockAliasNum) { 
        }
        #endregion 
 
        #region Methods
        // effects: See CqlBlock.AsCql 
        internal override StringBuilder AsCql(StringBuilder builder, bool isTopLevel, int indentLevel) {
            // Simply get the Cql versions of the children and add the union
            // operator between them
            bool isFirst = true; 
            foreach (CqlBlock child in Children) {
                if (false == isFirst) { 
                    StringUtil.IndentNewLine(builder, indentLevel + 1); 
                    builder.Append(OpCellTreeNode.OpToCql(CellTreeOpType.Union));
                } 
                isFirst = false;

                builder.Append(" (");
                child.AsCql(builder, isTopLevel, indentLevel + 1); 
                builder.Append(')');
            } 
            return builder; 
        }
        #endregion 
    }
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//---------------------------------------------------------------------- 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// 
// @owner [....]
// @backupOwner [....] 
//--------------------------------------------------------------------- 

using System.Collections.Generic; 
using System.Text;
using System.Data.Mapping.ViewGeneration.Structures;
using System.Data.Common.Utils;
 
namespace System.Data.Mapping.ViewGeneration.CqlGeneration {
 
    // This class corresponds to Union nodes in the tree 
    internal class UnionCqlBlock : CqlBlock {
        #region Constructor 
        // effects: Creates a union CqlBlock with SELECT (slotinfos), FROM
        // (children), WHERE (true), AS (blockAliasNum)
        internal UnionCqlBlock(SlotInfo[] slotInfos, List children, CqlIdentifiers identifiers, int blockAliasNum) :
            base(slotInfos, children, BoolExpression.True, identifiers, blockAliasNum) { 
        }
        #endregion 
 
        #region Methods
        // effects: See CqlBlock.AsCql 
        internal override StringBuilder AsCql(StringBuilder builder, bool isTopLevel, int indentLevel) {
            // Simply get the Cql versions of the children and add the union
            // operator between them
            bool isFirst = true; 
            foreach (CqlBlock child in Children) {
                if (false == isFirst) { 
                    StringUtil.IndentNewLine(builder, indentLevel + 1); 
                    builder.Append(OpCellTreeNode.OpToCql(CellTreeOpType.Union));
                } 
                isFirst = false;

                builder.Append(" (");
                child.AsCql(builder, isTopLevel, indentLevel + 1); 
                builder.Append(')');
            } 
            return builder; 
        }
        #endregion 
    }
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.

                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK