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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataExchangeServiceBinder.cs
- CreationContext.cs
- UIElementCollection.cs
- HMACRIPEMD160.cs
- SqlClientWrapperSmiStream.cs
- PropertyDescriptorComparer.cs
- BufferedOutputStream.cs
- ImageList.cs
- SmtpCommands.cs
- BaseCodePageEncoding.cs
- TemplatePartAttribute.cs
- ResXBuildProvider.cs
- TypeToken.cs
- NetMsmqBindingElement.cs
- WindowsRichEditRange.cs
- ShaderRenderModeValidation.cs
- DesignerActionHeaderItem.cs
- XmlImplementation.cs
- OptimizerPatterns.cs
- UnsafeNetInfoNativeMethods.cs
- SafeRegistryKey.cs
- ActiveXSite.cs
- XmlDocument.cs
- ListenerAdaptersInstallComponent.cs
- IisTraceWebEventProvider.cs
- AppDomainFactory.cs
- DetailsViewUpdatedEventArgs.cs
- DefaultHttpHandler.cs
- ResumeStoryboard.cs
- LineGeometry.cs
- SecureConversationVersion.cs
- Lease.cs
- BmpBitmapDecoder.cs
- basecomparevalidator.cs
- CodeSnippetExpression.cs
- WrappedOptions.cs
- DesignRelation.cs
- HttpsHostedTransportConfiguration.cs
- Transform3DGroup.cs
- UncommonField.cs
- TextRangeProviderWrapper.cs
- Exception.cs
- WebEventTraceProvider.cs
- CroppedBitmap.cs
- WorkflowService.cs
- Positioning.cs
- ObjectSet.cs
- MergeFilterQuery.cs
- XmlSerializableWriter.cs
- SimpleApplicationHost.cs
- BaseParagraph.cs
- KeyedHashAlgorithm.cs
- SQLDoubleStorage.cs
- ServiceSecurityContext.cs
- PreviewPrintController.cs
- SchemaImporterExtensionElement.cs
- EncodingInfo.cs
- ToolZone.cs
- ReadWriteObjectLock.cs
- PrimitiveDataContract.cs
- WebPartEditVerb.cs
- SmuggledIUnknown.cs
- ServiceParser.cs
- XmlElementAttributes.cs
- TypeKeyValue.cs
- AutomationElementCollection.cs
- XmlAttributeOverrides.cs
- XmlWriter.cs
- NonVisualControlAttribute.cs
- MonitorWrapper.cs
- UIElement.cs
- CodeEntryPointMethod.cs
- TypeAccessException.cs
- ActivityWithResultValueSerializer.cs
- TypeUnloadedException.cs
- MailBnfHelper.cs
- MimeXmlReflector.cs
- EdmFunctions.cs
- DataKey.cs
- Constant.cs
- MetadataReference.cs
- XmlDocumentType.cs
- ContentType.cs
- DisplayInformation.cs
- FtpWebResponse.cs
- PointHitTestResult.cs
- DNS.cs
- ProfileSettingsCollection.cs
- DataGridViewTextBoxEditingControl.cs
- OleDbParameterCollection.cs
- DateTimeConverter.cs
- TreeNode.cs
- PageVisual.cs
- isolationinterop.cs
- PrintingPermission.cs
- FastEncoder.cs
- ClientRoleProvider.cs
- BitSet.cs
- SecurityCriticalDataForSet.cs
- ProjectionPlan.cs