Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Map / ViewGeneration / CqlGeneration / BooleanProjectedSlot.cs / 1305376 / BooleanProjectedSlot.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System.Data.Mapping.ViewGeneration.Structures; using System.Text; using System.Diagnostics; using System.Data.Common.Utils; namespace System.Data.Mapping.ViewGeneration.CqlGeneration { // This class represents slots for the boolean variables, e.g., _from0, // _from1, etc internal class BooleanProjectedSlot : ProjectedSlot { #region Constructor // effects: Creates a boolean slot for expression that comes from // originalCellNum, i.e., the value of the slot is "expr" and the // name is "_from", e.g., _from2 internal BooleanProjectedSlot(BoolExpression expr, CqlIdentifiers identifiers, int originalCellNum) { m_expr = expr; m_originalCell = new CellIdBoolean(identifiers, originalCellNum); CellIdBoolean boolExpr = expr.AsLiteral as CellIdBoolean; Debug.Assert(boolExpr == null || BoolLiteral.EqualityComparer.Equals(boolExpr, m_originalCell), "Cellid boolean for the slot and cell number disagree"); } #endregion #region Fields private BoolExpression m_expr; // The actual value of the slot - // could be CellIdBoolean! // A boolean corresponding to the original cell number (from0) private CellIdBoolean m_originalCell; #endregion #region Methods internal override StringBuilder AsCql(StringBuilder builder, MemberPath outputMember, string blockAlias, int indentLevel) { if (m_expr.IsTrue || m_expr.IsFalse) { // No Case statement for TRUE and FALSE m_expr.AsCql(builder, blockAlias); } else { builder.Append("CASE WHEN "); m_expr.AsCql(builder, blockAlias); builder.Append(" THEN True ELSE False END"); } return builder; } internal override string CqlFieldAlias(MemberPath outputMember) { // Return _from0, _from1 etc return m_originalCell.SlotName; } internal override void ToCompactString(StringBuilder builder) { StringUtil.FormatStringBuilder(builder, "<{0}, ", m_originalCell.SlotName); m_expr.ToCompactString(builder); builder.Append('>'); } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- QueryAccessibilityHelpEvent.cs
- DataGridItemCollection.cs
- PageOrientation.cs
- followingquery.cs
- UserControlAutomationPeer.cs
- RangeContentEnumerator.cs
- FileNotFoundException.cs
- ConfigurationProperty.cs
- SelectManyQueryOperator.cs
- FilteredDataSetHelper.cs
- XmlDocumentType.cs
- ThreadStartException.cs
- MailBnfHelper.cs
- SiteMap.cs
- RuntimeConfigLKG.cs
- ModuleConfigurationInfo.cs
- BufferModesCollection.cs
- LayoutSettings.cs
- DoubleIndependentAnimationStorage.cs
- EntityDataSourceMemberPath.cs
- PropertyNames.cs
- InternalPolicyElement.cs
- SecUtil.cs
- TextFindEngine.cs
- ConfigXmlText.cs
- UnmanagedMemoryStreamWrapper.cs
- BitStack.cs
- TextModifierScope.cs
- ZipIOFileItemStream.cs
- ButtonBaseDesigner.cs
- AuthorizationRuleCollection.cs
- RMEnrollmentPage2.cs
- DynamicResourceExtensionConverter.cs
- XmlDomTextWriter.cs
- XmlTextAttribute.cs
- EventDescriptor.cs
- RuntimeArgumentHandle.cs
- DocumentReferenceCollection.cs
- Baml2006KnownTypes.cs
- StoragePropertyMapping.cs
- listitem.cs
- SpeechEvent.cs
- PermissionSet.cs
- DataPagerFieldItem.cs
- ImageFormatConverter.cs
- Control.cs
- SqlFileStream.cs
- EntityCollection.cs
- PropertyGridView.cs
- Tablet.cs
- WindowShowOrOpenTracker.cs
- ClientSideQueueItem.cs
- DoubleConverter.cs
- CorrelationService.cs
- UserCancellationException.cs
- ToReply.cs
- DetailsViewRowCollection.cs
- RadioButtonBaseAdapter.cs
- Msmq4PoisonHandler.cs
- DataGridCaption.cs
- ThrowHelper.cs
- DbParameterCollectionHelper.cs
- TemplatedAdorner.cs
- TextEffect.cs
- XmlDataCollection.cs
- COM2ComponentEditor.cs
- Relationship.cs
- HttpCookiesSection.cs
- PropertyTabChangedEvent.cs
- WindowsTitleBar.cs
- ListViewUpdatedEventArgs.cs
- EventProviderWriter.cs
- UshortList2.cs
- Material.cs
- UseAttributeSetsAction.cs
- XmlSchemaAnyAttribute.cs
- XmlSchemaSequence.cs
- ContainerVisual.cs
- PerformanceCounterLib.cs
- InputProcessorProfilesLoader.cs
- RootProjectionNode.cs
- UpdateTranslator.cs
- PropVariant.cs
- Simplifier.cs
- OracleTimeSpan.cs
- ToolStripTextBox.cs
- ColumnReorderedEventArgs.cs
- SmiXetterAccessMap.cs
- MD5.cs
- XmlDigitalSignatureProcessor.cs
- EventLogTraceListener.cs
- UnmanagedMemoryStreamWrapper.cs
- PngBitmapEncoder.cs
- Trace.cs
- LayoutExceptionEventArgs.cs
- TextEffectCollection.cs
- SQLResource.cs
- DbConnectionOptions.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- SizeValueSerializer.cs