Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Extensions / UI / WebControls / Expressions / PropertyExpression.cs / 1305376 / PropertyExpression.cs
#if ORYX_VNEXT namespace Microsoft.Web.Data.UI.WebControls.Expressions { using System.Web; using System.Web.UI.WebControls; #else namespace System.Web.UI.WebControls.Expressions { #endif using System; using System.Collections.Generic; using System.Security.Permissions; using System.Web.UI; using System.Linq.Expressions; using System.Linq; public class PropertyExpression : ParameterDataSourceExpression { public override IQueryable GetQueryable(IQueryable source) { if (source == null) { return null; } IDictionaryvalues = GetValues(); List equalsExpressions = new List (); ParameterExpression parameterExpression = Expression.Parameter(source.ElementType, String.Empty); foreach (KeyValuePair pair in values) { if (!String.IsNullOrEmpty(pair.Key)) { // Create the property expression Expression property = ExpressionHelper.CreatePropertyExpression(parameterExpression, pair.Key); // Get the value object value = ExpressionHelper.BuildObjectValue(pair.Value, property.Type); // Create Property == Value and '&&' the expressions together if (value != null) { Expression valueExpression = Expression.Constant(value, property.Type); Expression equalsExpression = Expression.Equal(property, valueExpression); equalsExpressions.Add(equalsExpression); } } } if (equalsExpressions.Any()) { Expression body = ExpressionHelper.And(equalsExpressions); return ExpressionHelper.Where(source, Expression.Lambda(body, parameterExpression)); } return source; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataContext.cs
- SiteMapNodeItemEventArgs.cs
- CachedTypeface.cs
- DataTransferEventArgs.cs
- Decoder.cs
- XamlPointCollectionSerializer.cs
- FunctionDetailsReader.cs
- SingleAnimationBase.cs
- NumericPagerField.cs
- Debug.cs
- ComplexTypeEmitter.cs
- DetailsViewInsertEventArgs.cs
- FontStretches.cs
- CommunicationException.cs
- Stacktrace.cs
- HelpEvent.cs
- AttributeSetAction.cs
- ExpandSegment.cs
- ShapeTypeface.cs
- MetadataSection.cs
- DeclaredTypeElement.cs
- AnyAllSearchOperator.cs
- VirtualPathUtility.cs
- FamilyCollection.cs
- webeventbuffer.cs
- TraceSwitch.cs
- IisNotInstalledException.cs
- HTTPNotFoundHandler.cs
- DataSource.cs
- TextElementEnumerator.cs
- DbParameterHelper.cs
- storagemappingitemcollection.viewdictionary.cs
- ITreeGenerator.cs
- StylusPlugin.cs
- CommonDialog.cs
- XmlDocumentType.cs
- TagMapCollection.cs
- AppDomainResourcePerfCounters.cs
- CodeDelegateCreateExpression.cs
- ExtractedStateEntry.cs
- XmlStreamNodeWriter.cs
- EntityKey.cs
- UIElementAutomationPeer.cs
- UshortList2.cs
- MarkupCompilePass1.cs
- TokenBasedSet.cs
- ProjectedSlot.cs
- QuestionEventArgs.cs
- GridViewCommandEventArgs.cs
- DeferrableContentConverter.cs
- PrincipalPermissionMode.cs
- Freezable.cs
- CatalogZone.cs
- Console.cs
- BitmapCacheBrush.cs
- HashCodeCombiner.cs
- Helper.cs
- IsolationInterop.cs
- WebPartDescriptionCollection.cs
- CssStyleCollection.cs
- ZipIOExtraFieldPaddingElement.cs
- ReadOnlyCollection.cs
- OpenTypeLayoutCache.cs
- NavigationPropertyEmitter.cs
- WebConfigurationHost.cs
- BeginSelectCardRequest.cs
- fixedPageContentExtractor.cs
- DataGridViewDataConnection.cs
- EventMap.cs
- EncryptedXml.cs
- DocumentPaginator.cs
- DBSqlParserColumnCollection.cs
- FutureFactory.cs
- ClientUriBehavior.cs
- XmlLinkedNode.cs
- StringDictionary.cs
- BindingWorker.cs
- ValidationSummary.cs
- DataGridViewCellStyleChangedEventArgs.cs
- SizeAnimationClockResource.cs
- hresults.cs
- CompensateDesigner.cs
- EncryptedData.cs
- SystemWebCachingSectionGroup.cs
- WriteLineDesigner.xaml.cs
- EditorPartChrome.cs
- InfoCardAsymmetricCrypto.cs
- DocumentsTrace.cs
- DashStyle.cs
- InvalidPrinterException.cs
- CodeTypeReference.cs
- TagPrefixInfo.cs
- XmlSerializationWriter.cs
- DataView.cs
- BuildResult.cs
- XmlElementAttributes.cs
- DataControlCommands.cs
- IpcChannel.cs
- AffineTransform3D.cs
- AppSettings.cs