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
- MinMaxParagraphWidth.cs
- DecoratedNameAttribute.cs
- RoleManagerSection.cs
- TextViewBase.cs
- IImplicitResourceProvider.cs
- CountdownEvent.cs
- ObjectStateEntryDbDataRecord.cs
- ZipIOLocalFileDataDescriptor.cs
- BrowserTree.cs
- FactoryId.cs
- OracleTransaction.cs
- AnnotationService.cs
- TableLayoutSettingsTypeConverter.cs
- ListViewItemSelectionChangedEvent.cs
- LogReservationCollection.cs
- MaxSessionCountExceededException.cs
- TagNameToTypeMapper.cs
- PanelStyle.cs
- TextTreeRootNode.cs
- InputManager.cs
- HtmlInputHidden.cs
- PageWrapper.cs
- ToolStripPanelSelectionGlyph.cs
- ExpressionQuoter.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- ElementUtil.cs
- FormsAuthenticationUser.cs
- LogPolicy.cs
- TemplatePagerField.cs
- EntityClientCacheEntry.cs
- JumpTask.cs
- AnnotationAdorner.cs
- GuidelineSet.cs
- DatagridviewDisplayedBandsData.cs
- UpdateException.cs
- LocatorBase.cs
- PortCache.cs
- CaseExpr.cs
- AgileSafeNativeMemoryHandle.cs
- CodeSnippetTypeMember.cs
- DataContract.cs
- Point.cs
- PathGradientBrush.cs
- ErrorRuntimeConfig.cs
- RTTrackingProfile.cs
- AliasedSlot.cs
- EntityDataSourceSelectingEventArgs.cs
- ReadContentAsBinaryHelper.cs
- SafeArrayRankMismatchException.cs
- InheritedPropertyDescriptor.cs
- XmlArrayItemAttribute.cs
- ListBoxAutomationPeer.cs
- SQLBytes.cs
- ConsoleTraceListener.cs
- MappingItemCollection.cs
- WebPartCloseVerb.cs
- TargetControlTypeCache.cs
- BitmapCodecInfoInternal.cs
- DiffuseMaterial.cs
- WorkflowInstanceQuery.cs
- Button.cs
- SettingsProperty.cs
- MexHttpBindingElement.cs
- UrlMappingCollection.cs
- ApplicationException.cs
- InputScopeConverter.cs
- ConfigurationCollectionAttribute.cs
- WebConfigurationFileMap.cs
- Throw.cs
- SchemaImporterExtensionElementCollection.cs
- Label.cs
- ErrorFormatterPage.cs
- ImageCodecInfo.cs
- ISessionStateStore.cs
- ClientRuntimeConfig.cs
- LeaseManager.cs
- ManagedWndProcTracker.cs
- InputLanguage.cs
- __Error.cs
- NavigateEvent.cs
- StringHandle.cs
- RawUIStateInputReport.cs
- DataServiceQuery.cs
- BindingWorker.cs
- TextRangeProviderWrapper.cs
- TrustLevel.cs
- DataReaderContainer.cs
- XmlSchemaImporter.cs
- DeclarationUpdate.cs
- CustomAttributeFormatException.cs
- RemotingServices.cs
- DBSqlParserColumn.cs
- UTF8Encoding.cs
- StreamAsIStream.cs
- BindingValueChangedEventArgs.cs
- ExpressionBinding.cs
- ExtractedStateEntry.cs
- DelegatingConfigHost.cs
- CommentGlyph.cs
- SqlProviderServices.cs