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
- FocusWithinProperty.cs
- SamlAuthenticationClaimResource.cs
- OutOfProcStateClientManager.cs
- ContextConfiguration.cs
- OleDbPermission.cs
- InputMethod.cs
- RemotingException.cs
- PageRanges.cs
- SingleAnimationBase.cs
- Vector3DCollectionValueSerializer.cs
- UnwrappedTypesXmlSerializerManager.cs
- DateTimeUtil.cs
- ExpressionHelper.cs
- SchemaLookupTable.cs
- InputBindingCollection.cs
- AdPostCacheSubstitution.cs
- ComboBoxItem.cs
- WindowsListViewSubItem.cs
- DataControlFieldCollection.cs
- wgx_render.cs
- SystemIPInterfaceStatistics.cs
- TypeName.cs
- CaseInsensitiveOrdinalStringComparer.cs
- SecurityCookieModeValidator.cs
- SqlCommandSet.cs
- NavigationProperty.cs
- SendKeys.cs
- SessionPageStatePersister.cs
- RadioButtonFlatAdapter.cs
- AsymmetricSignatureDeformatter.cs
- RegexGroupCollection.cs
- URIFormatException.cs
- SourceSwitch.cs
- Vertex.cs
- KeyFrames.cs
- ClickablePoint.cs
- PropertyBuilder.cs
- smtppermission.cs
- LinkedResource.cs
- PartialArray.cs
- TextEditorThreadLocalStore.cs
- SynchronizedMessageSource.cs
- DependencyProperty.cs
- DrawingContextWalker.cs
- SplitContainer.cs
- VerticalAlignConverter.cs
- SafeLibraryHandle.cs
- control.ime.cs
- DataBoundControlAdapter.cs
- QuotaThrottle.cs
- EditCommandColumn.cs
- BooleanProjectedSlot.cs
- SafeSecurityHandles.cs
- BinaryConverter.cs
- RoleManagerEventArgs.cs
- DbParameterCollectionHelper.cs
- RSACryptoServiceProvider.cs
- DataGridViewTextBoxEditingControl.cs
- DiffuseMaterial.cs
- PrintDialog.cs
- ForceCopyBuildProvider.cs
- CodeLinePragma.cs
- COM2IProvidePropertyBuilderHandler.cs
- loginstatus.cs
- HandlerBase.cs
- TraceLog.cs
- ToolBarDesigner.cs
- GenericAuthenticationEventArgs.cs
- MarkupCompiler.cs
- FileDialogCustomPlacesCollection.cs
- BinaryMethodMessage.cs
- UnaryNode.cs
- TabItemAutomationPeer.cs
- XmlUnspecifiedAttribute.cs
- StyleXamlTreeBuilder.cs
- DbConnectionPoolGroup.cs
- DataSvcMapFile.cs
- RuleSettings.cs
- SqlDataSourceParameterParser.cs
- ServiceControllerDesigner.cs
- EntityCommandCompilationException.cs
- IriParsingElement.cs
- GridViewAutomationPeer.cs
- SqlDataRecord.cs
- ActivityBindForm.cs
- CultureNotFoundException.cs
- HttpDebugHandler.cs
- WeakReferenceList.cs
- Annotation.cs
- FillErrorEventArgs.cs
- PixelFormats.cs
- SeekableReadStream.cs
- SqlUtils.cs
- EntityChangedParams.cs
- ColorConverter.cs
- HtmlWindowCollection.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- XmlToDatasetMap.cs
- CrossSiteScriptingValidation.cs
- RegexParser.cs