Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataWebControls / System / Data / WebControls / WebControlParameterProxy.cs / 1 / 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.ConvertTypeCodeToType( EntityDataSourceUtil.ConvertDbTypeToTypeCode(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()); 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. //---------------------------------------------------------------------- //// 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.ConvertTypeCodeToType( EntityDataSourceUtil.ConvertDbTypeToTypeCode(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()); 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
- Aggregates.cs
- MenuItemCollection.cs
- CharAnimationUsingKeyFrames.cs
- HwndMouseInputProvider.cs
- DmlSqlGenerator.cs
- TreeIterators.cs
- Currency.cs
- MessageFilter.cs
- ServiceDesigner.cs
- TriggerBase.cs
- UInt32Storage.cs
- StringPropertyBuilder.cs
- AsymmetricSignatureDeformatter.cs
- WebScriptEnablingElement.cs
- FrameSecurityDescriptor.cs
- ForceCopyBuildProvider.cs
- CodeTypeConstructor.cs
- HttpGetProtocolReflector.cs
- XmlElementCollection.cs
- CFStream.cs
- XmlSchemaAttributeGroupRef.cs
- HtmlWindow.cs
- ProviderException.cs
- xmlsaver.cs
- Enumerable.cs
- Message.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- BitmapMetadataEnumerator.cs
- ConvertEvent.cs
- SoapSchemaMember.cs
- DataColumnChangeEvent.cs
- BitmapEffectCollection.cs
- Mappings.cs
- ExpressionEditorAttribute.cs
- RegistrySecurity.cs
- CryptoHelper.cs
- CodeSnippetCompileUnit.cs
- MD5.cs
- TimeSpanMinutesConverter.cs
- DesignerSerializationOptionsAttribute.cs
- SingleAnimation.cs
- LinkLabel.cs
- TagNameToTypeMapper.cs
- NoClickablePointException.cs
- MarkerProperties.cs
- CorrelationManager.cs
- FrameworkObject.cs
- CodeDOMUtility.cs
- XmlUtilWriter.cs
- CalendarDay.cs
- OpCodes.cs
- MulticastNotSupportedException.cs
- WmpBitmapDecoder.cs
- LinkButton.cs
- ComPlusTraceRecord.cs
- Activity.cs
- PreservationFileReader.cs
- BinaryFormatter.cs
- SqlClientWrapperSmiStream.cs
- SizeChangedEventArgs.cs
- CryptoConfig.cs
- MdiWindowListItemConverter.cs
- EncodingStreamWrapper.cs
- dataprotectionpermission.cs
- DefaultBinder.cs
- XmlTextReaderImplHelpers.cs
- AuthorizationRuleCollection.cs
- DrawListViewItemEventArgs.cs
- ConstructorBuilder.cs
- ColorContextHelper.cs
- util.cs
- SchemaHelper.cs
- UriScheme.cs
- ExtensionElement.cs
- UiaCoreApi.cs
- QueryStoreStatusRequest.cs
- SoapEnumAttribute.cs
- FullTrustAssemblyCollection.cs
- CalendarAutoFormat.cs
- SelectionItemPattern.cs
- QuaternionValueSerializer.cs
- DataGridViewCellValidatingEventArgs.cs
- ProcessHostServerConfig.cs
- InteropEnvironment.cs
- DesignerUtility.cs
- ZoneMembershipCondition.cs
- TextEndOfParagraph.cs
- XdrBuilder.cs
- RegexRunner.cs
- Models.cs
- UndoManager.cs
- FrameworkReadOnlyPropertyMetadata.cs
- webclient.cs
- RefreshResponseInfo.cs
- UInt32Storage.cs
- DataGridViewLinkColumn.cs
- MouseActionValueSerializer.cs
- Grid.cs
- SqlErrorCollection.cs
- IisTraceWebEventProvider.cs