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
- AsnEncodedData.cs
- PersonalizationStateQuery.cs
- ReferenceTypeElement.cs
- HttpModule.cs
- PairComparer.cs
- ConfigDefinitionUpdates.cs
- ConstantExpression.cs
- DataColumn.cs
- COM2PropertyBuilderUITypeEditor.cs
- WmlImageAdapter.cs
- InvalidCommandTreeException.cs
- PreviewPrintController.cs
- ArraySegment.cs
- FontFamilyIdentifier.cs
- XPathQueryGenerator.cs
- DbException.cs
- BuildProviderUtils.cs
- BitmapImage.cs
- PropertyEntry.cs
- XmlWriterTraceListener.cs
- SecureUICommand.cs
- GrammarBuilderRuleRef.cs
- UnsafeNativeMethods.cs
- RecordManager.cs
- TextEmbeddedObject.cs
- DataGridViewTextBoxColumn.cs
- ViewGenResults.cs
- TableLayoutPanelCellPosition.cs
- SymbolDocumentInfo.cs
- GeneralTransform3DGroup.cs
- LinkButton.cs
- SourceSwitch.cs
- FixedStringLookup.cs
- RemoteCryptoTokenProvider.cs
- WebPartZone.cs
- EntityTypeBase.cs
- Transform.cs
- HttpModuleAction.cs
- ScriptBehaviorDescriptor.cs
- CheckBoxField.cs
- HijriCalendar.cs
- TemplateControlBuildProvider.cs
- TdsParserStaticMethods.cs
- HttpCachePolicyElement.cs
- LogEntryDeserializer.cs
- LineSegment.cs
- DocComment.cs
- SocketElement.cs
- SamlConstants.cs
- EndpointBehaviorElementCollection.cs
- DebuggerAttributes.cs
- SessionPageStateSection.cs
- MediaElementAutomationPeer.cs
- VisualStyleTypesAndProperties.cs
- _BufferOffsetSize.cs
- WindowsGraphicsWrapper.cs
- ContractUtils.cs
- AppearanceEditorPart.cs
- FilterQuery.cs
- OleDbDataAdapter.cs
- XamlPointCollectionSerializer.cs
- SqlPersonalizationProvider.cs
- InvalidCardException.cs
- QilValidationVisitor.cs
- MediaTimeline.cs
- HebrewCalendar.cs
- FloaterBaseParaClient.cs
- WebServiceReceiveDesigner.cs
- ProfileService.cs
- ReflectionHelper.cs
- MultipleViewPattern.cs
- XPathMessageContext.cs
- ImageAttributes.cs
- WebPartVerb.cs
- SqlDataSourceStatusEventArgs.cs
- DbProviderManifest.cs
- webbrowsersite.cs
- PenContext.cs
- WorkflowStateRollbackService.cs
- QilXmlWriter.cs
- ProtectedConfigurationSection.cs
- WebPartEditorApplyVerb.cs
- DbException.cs
- TerminatorSinks.cs
- PropertyTab.cs
- XmlSerializerAssemblyAttribute.cs
- XPathEmptyIterator.cs
- RegexFCD.cs
- ProbeDuplexAsyncResult.cs
- Int32AnimationBase.cs
- LabelEditEvent.cs
- TypefaceMap.cs
- Renderer.cs
- LayoutDump.cs
- ValueOfAction.cs
- EmissiveMaterial.cs
- XPathNode.cs
- PenContext.cs
- FileDialog_Vista_Interop.cs
- TableProviderWrapper.cs