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
- BridgeDataRecord.cs
- WebHttpEndpointElement.cs
- ExitEventArgs.cs
- ArrayHelper.cs
- ProcessThreadCollection.cs
- SchemaImporter.cs
- HttpStreamXmlDictionaryWriter.cs
- IdentifierElement.cs
- XmlIlTypeHelper.cs
- DocumentsTrace.cs
- XPathChildIterator.cs
- HandleExceptionArgs.cs
- WebPartsPersonalization.cs
- OutputScope.cs
- PngBitmapEncoder.cs
- DataComponentMethodGenerator.cs
- OutputCacheSettingsSection.cs
- ClientType.cs
- CqlErrorHelper.cs
- IdentifierService.cs
- JumpList.cs
- EntityDesignerDataSourceView.cs
- BulletedListEventArgs.cs
- SimpleModelProvider.cs
- WebPartPersonalization.cs
- DataGridCellItemAutomationPeer.cs
- IOThreadScheduler.cs
- MDIControlStrip.cs
- UrlAuthorizationModule.cs
- ConstraintEnumerator.cs
- JavaScriptSerializer.cs
- PenThread.cs
- EnumType.cs
- TypeRefElement.cs
- PolyLineSegmentFigureLogic.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- PieceDirectory.cs
- Header.cs
- MsmqIntegrationSecurityElement.cs
- EnumConverter.cs
- AuthenticationModuleElement.cs
- DTCTransactionManager.cs
- SqlNodeTypeOperators.cs
- NegotiateStream.cs
- ProjectionPathSegment.cs
- PauseStoryboard.cs
- LinkClickEvent.cs
- ReadOnlyMetadataCollection.cs
- DomainLiteralReader.cs
- Win32Exception.cs
- ObfuscateAssemblyAttribute.cs
- ToolboxItemLoader.cs
- DrawingContextDrawingContextWalker.cs
- DropShadowBitmapEffect.cs
- MarshalDirectiveException.cs
- RoleGroup.cs
- WindowsScroll.cs
- hresults.cs
- BitmapEffectvisualstate.cs
- Identity.cs
- HttpContextWrapper.cs
- DependencyObjectType.cs
- CollectionChangeEventArgs.cs
- TdsParserSessionPool.cs
- EditorPartCollection.cs
- WriteableBitmap.cs
- WpfXamlLoader.cs
- BufferBuilder.cs
- Debug.cs
- WebPartsPersonalization.cs
- AssemblyUtil.cs
- DecoderExceptionFallback.cs
- StyleXamlTreeBuilder.cs
- TraceXPathNavigator.cs
- RequestedSignatureDialog.cs
- PropertyInformationCollection.cs
- RuleSet.cs
- EntityDataSourceUtil.cs
- SignalGate.cs
- DPTypeDescriptorContext.cs
- RequestCachePolicy.cs
- UnSafeCharBuffer.cs
- SecurityChannelListener.cs
- UpdateEventArgs.cs
- PartialList.cs
- UriScheme.cs
- LayoutTable.cs
- PropertyMapper.cs
- ServiceHandle.cs
- MaterialGroup.cs
- ListItemsCollectionEditor.cs
- PeerResolverElement.cs
- PrivilegedConfigurationManager.cs
- SqlGenericUtil.cs
- HttpTransportElement.cs
- RC2.cs
- DataGridViewColumnCollectionDialog.cs
- BrowserCapabilitiesFactory35.cs
- Property.cs
- DetailsViewCommandEventArgs.cs