UnionCqlBlock.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Map / ViewGeneration / CqlGeneration / UnionCqlBlock.cs / 1305376 / 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.


                        

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