Code:
/ 4.0 / 4.0 / 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. 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 IEnumerable GetColumnParameters(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
- XmlSequenceWriter.cs
- Assert.cs
- URI.cs
- CodeMethodInvokeExpression.cs
- MembershipPasswordException.cs
- SettingsProviderCollection.cs
- BitmapFrameEncode.cs
- IDispatchConstantAttribute.cs
- IisTraceWebEventProvider.cs
- ServiceDebugElement.cs
- ManipulationDelta.cs
- CuspData.cs
- BaseTemplateBuildProvider.cs
- SiteMapSection.cs
- Icon.cs
- HyperLinkField.cs
- COM2IDispatchConverter.cs
- DesignerDeviceConfig.cs
- ObjectQuery_EntitySqlExtensions.cs
- InstanceKeyView.cs
- CompositeFontParser.cs
- TextSegment.cs
- SQLInt64.cs
- CatalogZone.cs
- DataObjectAttribute.cs
- ListView.cs
- TimerElapsedEvenArgs.cs
- ReadonlyMessageFilter.cs
- CodeBlockBuilder.cs
- TextCharacters.cs
- ParseChildrenAsPropertiesAttribute.cs
- KnownTypesProvider.cs
- RepeaterDataBoundAdapter.cs
- ProxyManager.cs
- documentation.cs
- CodeBinaryOperatorExpression.cs
- CodeIndexerExpression.cs
- FontStretches.cs
- StringComparer.cs
- InstanceStoreQueryResult.cs
- SqlClientMetaDataCollectionNames.cs
- BitmapEffectInputData.cs
- AssemblyAttributes.cs
- MessageHeaderDescription.cs
- JoinCqlBlock.cs
- UIAgentMonitor.cs
- CompilerGeneratedAttribute.cs
- FirstQueryOperator.cs
- VirtualPath.cs
- PointCollectionValueSerializer.cs
- Hyperlink.cs
- ChannelRequirements.cs
- AssemblyAttributes.cs
- InputLangChangeEvent.cs
- WebPartDescription.cs
- ACE.cs
- Inline.cs
- DataStreamFromComStream.cs
- TimeZone.cs
- tooltip.cs
- XmlEntity.cs
- MessageBox.cs
- PeerUnsafeNativeCryptMethods.cs
- ConfigurationValidatorBase.cs
- Activator.cs
- UIElementHelper.cs
- QueueNameHelper.cs
- followingsibling.cs
- MarginsConverter.cs
- WebPartManagerInternals.cs
- ProxyHwnd.cs
- RadioButtonPopupAdapter.cs
- AxHost.cs
- isolationinterop.cs
- UInt64Converter.cs
- Timeline.cs
- QueryReaderSettings.cs
- SafeHandle.cs
- SaveFileDialog.cs
- ExecutionContext.cs
- XPathNodeHelper.cs
- TextTreeInsertUndoUnit.cs
- storepermissionattribute.cs
- PolyLineSegment.cs
- PointAnimationUsingKeyFrames.cs
- WsdlInspector.cs
- TransactionManager.cs
- SubqueryRules.cs
- BitmapEncoder.cs
- DataSourceView.cs
- SharedRuntimeState.cs
- DataGridColumn.cs
- NativeMethods.cs
- SizeChangedEventArgs.cs
- unsafeIndexingFilterStream.cs
- ImageListUtils.cs
- DoubleLinkListEnumerator.cs
- DbgUtil.cs
- DataGridItem.cs
- MailMessageEventArgs.cs