Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWebControls / System / Data / WebControls / WebControlParameterProxy.cs / 1305376 / WebControlParameterProxy.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner objsdev //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web.UI.WebControls; using System.Diagnostics; using System.Data; using System.Globalization; namespace System.Web.UI.WebControls { internal class WebControlParameterProxy { ParameterCollection _collection; EntityDataSource _entityDataSource; Parameter _parameter; // Can be null, that's why this class doesn't subclass Parameter internal WebControlParameterProxy(string propertyName, ParameterCollection parameterCollection, EntityDataSource entityDataSource) { Debug.Assert(null != entityDataSource); Debug.Assert(!String.IsNullOrEmpty(propertyName)); _parameter = EntityDataSourceUtil.GetParameter(propertyName, parameterCollection); _collection = parameterCollection; _entityDataSource = entityDataSource; VerifyUniqueType(_parameter); } internal WebControlParameterProxy(Parameter parameter, ParameterCollection parameterCollection, EntityDataSource entityDataSource) { Debug.Assert(null != entityDataSource); _parameter = parameter; _collection = parameterCollection; _entityDataSource = entityDataSource; VerifyUniqueType(_parameter); } internal string Name { get { if (null != _parameter) { return _parameter.Name; } return null; } } internal bool HasValue { get { return null != _parameter && null != Value; } } internal bool ConvertEmptyStringToNull { get { if (null != _parameter) { return _parameter.ConvertEmptyStringToNull; } return false; } } internal TypeCode TypeCode { get { if (null != _parameter) { return _parameter.Type; } return TypeCode.Empty; } } internal DbType DbType { get { if (null != _parameter) { return _parameter.DbType; } return DbType.Object; } } internal Type ClrType { get { Debug.Assert(this.TypeCode != TypeCode.Empty || this.DbType != DbType.Object, "Need to have TypeCode or DbType to get a ClrType"); if (this.TypeCode != TypeCode.Empty) { return EntityDataSourceUtil.ConvertTypeCodeToType(this.TypeCode); } return EntityDataSourceUtil.ConvertDbTypeToType(this.DbType); } } internal object Value { get { if (_parameter != null) { object paramValue = EntityDataSourceUtil.GetParameterValue(_parameter.Name, _collection, _entityDataSource); if (paramValue != null) { if (this.DbType == DbType.DateTimeOffset) { object value = (paramValue is DateTimeOffset) ? paramValue : DateTimeOffset.Parse(this.Value.ToString(), CultureInfo.CurrentCulture); return value; } else if (this.DbType == DbType.Time) { object value = (paramValue is TimeSpan) ? paramValue : TimeSpan.Parse(paramValue.ToString(), CultureInfo.CurrentCulture); return value; } else if (this.DbType == DbType.Guid) { object value = (paramValue is Guid) ? paramValue : new Guid(paramValue.ToString()); return value; } } return paramValue; } return null; } } private static void VerifyUniqueType(Parameter parameter) { if (parameter != null && parameter.Type == TypeCode.Empty && parameter.DbType == DbType.Object) { throw new InvalidOperationException(Strings.WebControlParameterProxy_TypeDbTypeMutuallyExclusive); } if (parameter != null && parameter.DbType != DbType.Object && parameter.Type != TypeCode.Empty) { throw new InvalidOperationException(Strings.WebControlParameterProxy_TypeDbTypeMutuallyExclusive); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- StringUtil.cs
- ActivityTypeResolver.xaml.cs
- CryptoKeySecurity.cs
- NoPersistScope.cs
- OdbcDataReader.cs
- RelationshipEndCollection.cs
- HttpResponseHeader.cs
- SafeNativeMethodsOther.cs
- PageEventArgs.cs
- Line.cs
- PointConverter.cs
- Speller.cs
- ModuleBuilderData.cs
- FontSourceCollection.cs
- CounterCreationDataCollection.cs
- IMembershipProvider.cs
- TrackingParticipant.cs
- AssemblyAttributesGoHere.cs
- DBConnection.cs
- ProxyElement.cs
- TrustLevel.cs
- ApplicationFileCodeDomTreeGenerator.cs
- TabletDeviceInfo.cs
- SymmetricAlgorithm.cs
- DataGridViewColumnConverter.cs
- ConnectionInterfaceCollection.cs
- RegularExpressionValidator.cs
- SynchronizationFilter.cs
- VirtualDirectoryMappingCollection.cs
- SettingsSavedEventArgs.cs
- XmlReturnWriter.cs
- PageThemeParser.cs
- HttpModuleCollection.cs
- WebPartExportVerb.cs
- Literal.cs
- Base64Encoder.cs
- TextTrailingCharacterEllipsis.cs
- DesignBindingPropertyDescriptor.cs
- TypeBrowser.xaml.cs
- shaperfactoryquerycacheentry.cs
- WebPartTransformerCollection.cs
- RegexReplacement.cs
- DataGridItemAttachedStorage.cs
- ScalarOps.cs
- BigInt.cs
- LayoutTableCell.cs
- ColorAnimationUsingKeyFrames.cs
- Pkcs9Attribute.cs
- IndexedGlyphRun.cs
- TextElementAutomationPeer.cs
- TextElement.cs
- BindableTemplateBuilder.cs
- MutableAssemblyCacheEntry.cs
- NumericUpDown.cs
- AppSettings.cs
- ObjectDataProvider.cs
- XmlRootAttribute.cs
- TextRangeAdaptor.cs
- ViewBox.cs
- AnonymousIdentificationSection.cs
- UserNameSecurityTokenAuthenticator.cs
- TokenBasedSetEnumerator.cs
- URLAttribute.cs
- Interlocked.cs
- PageVisual.cs
- OrderablePartitioner.cs
- OrderedDictionary.cs
- ShapeTypeface.cs
- SqlTypesSchemaImporter.cs
- VerificationAttribute.cs
- ApplicationException.cs
- WindowsFont.cs
- BitmapCacheBrush.cs
- RequiredArgumentAttribute.cs
- MailAddress.cs
- XmlBoundElement.cs
- DataRelationCollection.cs
- StandardRuntimeEnumValidatorAttribute.cs
- SrgsGrammarCompiler.cs
- ThreadInterruptedException.cs
- ServiceOperationParameter.cs
- ToolStripHighContrastRenderer.cs
- ContextStaticAttribute.cs
- IDQuery.cs
- iisPickupDirectory.cs
- ThreadExceptionDialog.cs
- NativeMethods.cs
- LinkedResourceCollection.cs
- Permission.cs
- XmlToDatasetMap.cs
- WebSysDisplayNameAttribute.cs
- SchemaDeclBase.cs
- SoapExtensionImporter.cs
- Base64Encoding.cs
- MouseButton.cs
- SafeFileHandle.cs
- ResourceIDHelper.cs
- DataGridViewCellStyleConverter.cs
- BitmapData.cs
- ProfileModule.cs