Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / DynamicData / DynamicData / Util / RouteParametersHelper.cs / 1305376 / RouteParametersHelper.cs
using System.Collections.Generic; using System.Diagnostics; using System.Web.UI.WebControls; namespace System.Web.DynamicData.Util { internal class RouteParametersHelper { private static Parameter CreateParameter(string name, string value, MetaColumn configurationColumn) { var param = new Parameter() { Name = name, DefaultValue = value }; DataSourceUtil.SetParameterTypeCodeAndDbType(param, configurationColumn); return param; } internal static IEnumerableGetColumnParameters(MetaTable table, string columnName) { if (String.IsNullOrEmpty(columnName)) { // If no column is specified, we're setting the primary key from the query string return GetPrimaryKeyParameters(table); } else { var column = table.GetColumn(columnName); var fkColumn = column as MetaForeignKeyColumn; if (fkColumn != null) { // Handle the case where we're setting one of our foreign keys from the query string return GetForeignKeyParameters(fkColumn); } else { // Handle other columns (e.g. booleans) return GetRegularColumnParameters(column); } } } internal static IEnumerable GetForeignKeyParameters(MetaForeignKeyColumn fkColumn) { Debug.Assert(fkColumn.ForeignKeyNames.Count == fkColumn.ParentTable.PrimaryKeyColumns.Count); var result = new List (); for (int i = 0; i < fkColumn.ForeignKeyNames.Count; i++) { string name = fkColumn.ForeignKeyNames[i]; string value = Misc.GetRouteValue(name); MetaColumn parentTablePKColumn = fkColumn.ParentTable.PrimaryKeyColumns[i]; var param = CreateParameter(name, value, parentTablePKColumn); result.Add(param); } return result; } internal static IEnumerable GetPrimaryKeyParameters(MetaTable table) { var result = new List (); foreach (var primaryKeyColumn in table.PrimaryKeyColumns) { string name = primaryKeyColumn.Name; string value = Misc.GetRouteValue(name); var param = CreateParameter(name, value, primaryKeyColumn); result.Add(param); } return result; } internal static IEnumerable GetRegularColumnParameters(MetaColumn column) { // Handle other columns (e.g. booleans) string name = column.Name; string value = Misc.GetRouteValue(name); var param = CreateParameter(name, value, column); return new List () { param }; } } } // 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
- FontInfo.cs
- IgnoreFileBuildProvider.cs
- DbExpressionVisitor.cs
- AttachedAnnotation.cs
- UpWmlMobileTextWriter.cs
- AsymmetricKeyExchangeDeformatter.cs
- HtmlDocument.cs
- ToolBar.cs
- TemplateXamlParser.cs
- SystemBrushes.cs
- TextProperties.cs
- SqlParameterizer.cs
- IntSecurity.cs
- DirtyTextRange.cs
- EventArgs.cs
- StreamGeometry.cs
- MasterPageCodeDomTreeGenerator.cs
- BaseTemplateCodeDomTreeGenerator.cs
- Mutex.cs
- DbConnectionStringCommon.cs
- IpcClientManager.cs
- HttpContextServiceHost.cs
- ThicknessConverter.cs
- XPathNodePointer.cs
- PrimitiveCodeDomSerializer.cs
- IChannel.cs
- HTTPNotFoundHandler.cs
- CustomCredentialPolicy.cs
- XmlSchemaValidator.cs
- BatchParser.cs
- ModifyActivitiesPropertyDescriptor.cs
- HtmlInputText.cs
- AppDomainProtocolHandler.cs
- Odbc32.cs
- DeliveryStrategy.cs
- ColorEditor.cs
- SafeNativeMethods.cs
- MbpInfo.cs
- DateTimeFormat.cs
- CompilerLocalReference.cs
- SendSecurityHeaderElement.cs
- IdentityHolder.cs
- Restrictions.cs
- WebPartAuthorizationEventArgs.cs
- ValidatorCollection.cs
- ButtonStandardAdapter.cs
- ReversePositionQuery.cs
- DataGridColumnCollection.cs
- SqlServices.cs
- FieldMetadata.cs
- XmlILIndex.cs
- EmbeddedObject.cs
- DataColumnPropertyDescriptor.cs
- SecurityUtils.cs
- UriTemplateMatchException.cs
- DesignerForm.cs
- CroppedBitmap.cs
- TreeViewCancelEvent.cs
- ToolStripDropTargetManager.cs
- InvokeMethodActivityDesigner.cs
- StylusCaptureWithinProperty.cs
- DesignerObject.cs
- MenuItemCollection.cs
- ActivityInstance.cs
- PlatformCulture.cs
- ListControl.cs
- UrlAuthFailedErrorFormatter.cs
- DataControlButton.cs
- Int64KeyFrameCollection.cs
- WindowsPrincipal.cs
- Util.cs
- ProtocolsConfigurationHandler.cs
- ConnectionManagementElementCollection.cs
- ActiveXContainer.cs
- XamlVector3DCollectionSerializer.cs
- SystemBrushes.cs
- VersionedStreamOwner.cs
- Point3D.cs
- SettingsAttributeDictionary.cs
- WbmpConverter.cs
- ExitEventArgs.cs
- Rect3D.cs
- ServiceManager.cs
- _LocalDataStore.cs
- ValidatingReaderNodeData.cs
- ExpandCollapsePattern.cs
- WebPartCollection.cs
- RelationshipNavigation.cs
- DataRecordInternal.cs
- TimelineClockCollection.cs
- IERequestCache.cs
- LayoutEditorPart.cs
- File.cs
- NativeStructs.cs
- AuthorizationSection.cs
- CodePageEncoding.cs
- rsa.cs
- EntityContainerAssociationSetEnd.cs
- EntityDataSourceSelectedEventArgs.cs
- AnimationTimeline.cs