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
- InheritanceContextChangedEventManager.cs
- DataMisalignedException.cs
- TemplatedControlDesigner.cs
- EmptyEnumerable.cs
- BoolLiteral.cs
- CharacterBuffer.cs
- StatusBarDrawItemEvent.cs
- PrinterResolution.cs
- PackageDigitalSignature.cs
- ImageButton.cs
- SiteMapDataSourceView.cs
- StylusCaptureWithinProperty.cs
- TitleStyle.cs
- MediaTimeline.cs
- ToolboxBitmapAttribute.cs
- FormatPage.cs
- DocumentXPathNavigator.cs
- GlyphElement.cs
- LogRestartAreaEnumerator.cs
- NetworkInformationException.cs
- ListBindingConverter.cs
- Misc.cs
- OpenTypeLayoutCache.cs
- ProxyWebPartConnectionCollection.cs
- UITypeEditor.cs
- Hyperlink.cs
- HttpConfigurationSystem.cs
- RSAPKCS1SignatureDeformatter.cs
- Int16KeyFrameCollection.cs
- securestring.cs
- TagPrefixCollection.cs
- GCHandleCookieTable.cs
- AlternateViewCollection.cs
- InvalidDataContractException.cs
- StyleReferenceConverter.cs
- SudsParser.cs
- DPCustomTypeDescriptor.cs
- QilExpression.cs
- DateTimeStorage.cs
- EntityCommandDefinition.cs
- DependencySource.cs
- PrimitiveXmlSerializers.cs
- DoubleSumAggregationOperator.cs
- XmlCountingReader.cs
- AnalyzedTree.cs
- DataSetUtil.cs
- SchemaImporterExtension.cs
- contentDescriptor.cs
- Timer.cs
- BinaryConverter.cs
- WebRequestModuleElementCollection.cs
- RangeValidator.cs
- MachineSettingsSection.cs
- ListViewDeletedEventArgs.cs
- _Events.cs
- SqlConnectionPoolGroupProviderInfo.cs
- KnownColorTable.cs
- TextViewBase.cs
- WebConfigurationManager.cs
- UserInitiatedNavigationPermission.cs
- TableParagraph.cs
- ValueUnavailableException.cs
- Int16Storage.cs
- StoreContentChangedEventArgs.cs
- DistinctQueryOperator.cs
- StringComparer.cs
- TypeDescriptionProvider.cs
- TransformerInfo.cs
- ListControlConvertEventArgs.cs
- MemberPathMap.cs
- DPCustomTypeDescriptor.cs
- RealizationContext.cs
- OverflowException.cs
- SortedDictionary.cs
- x509store.cs
- Comparer.cs
- X509ChainPolicy.cs
- ToolStripItemClickedEventArgs.cs
- _SpnDictionary.cs
- OutputCacheProfileCollection.cs
- EncryptedData.cs
- ContainsRowNumberChecker.cs
- FileAuthorizationModule.cs
- XmlRootAttribute.cs
- TakeOrSkipWhileQueryOperator.cs
- EntityContainerRelationshipSet.cs
- AutomationElement.cs
- NameValueCache.cs
- JpegBitmapDecoder.cs
- WSDualHttpSecurityElement.cs
- CatalogZone.cs
- Cursor.cs
- ItemsControl.cs
- DispatcherFrame.cs
- XmlUtf8RawTextWriter.cs
- TableLayout.cs
- SizeChangedInfo.cs
- _Win32.cs
- AggregateNode.cs
- ItemMap.cs