Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- HttpInputStream.cs
- PartialClassGenerationTaskInternal.cs
- KeyedHashAlgorithm.cs
- CustomErrorsSection.cs
- HttpCacheVaryByContentEncodings.cs
- LayoutUtils.cs
- StylusDevice.cs
- COM2ColorConverter.cs
- EdmItemError.cs
- TabControlToolboxItem.cs
- SvcMapFile.cs
- SafeTokenHandle.cs
- WebCategoryAttribute.cs
- RootProfilePropertySettingsCollection.cs
- ReachSerializationUtils.cs
- ManagedFilter.cs
- DynamicRenderer.cs
- EntityStoreSchemaFilterEntry.cs
- ComboBox.cs
- SerializationStore.cs
- Dynamic.cs
- httpserverutility.cs
- DocumentViewer.cs
- CommentEmitter.cs
- MenuItemBindingCollection.cs
- SqlDataReaderSmi.cs
- Evidence.cs
- SBCSCodePageEncoding.cs
- FloaterBaseParagraph.cs
- ConfigurationConverterBase.cs
- ZoomingMessageFilter.cs
- HttpProtocolImporter.cs
- RadioButtonPopupAdapter.cs
- FixedTextContainer.cs
- MsmqHostedTransportConfiguration.cs
- RsaEndpointIdentity.cs
- SettingsSavedEventArgs.cs
- XmlQueryType.cs
- PackWebRequestFactory.cs
- EditorZoneBase.cs
- DataServiceHost.cs
- RoleServiceManager.cs
- ContentFileHelper.cs
- XmlComplianceUtil.cs
- panel.cs
- PeerEndPoint.cs
- ConstraintConverter.cs
- OptimizerPatterns.cs
- ListDictionaryInternal.cs
- InsufficientMemoryException.cs
- HttpModuleCollection.cs
- ConfigurationElementCollection.cs
- BrowserCapabilitiesCodeGenerator.cs
- PersonalizationProviderCollection.cs
- XmlValueConverter.cs
- HttpSocketManager.cs
- Section.cs
- _ServiceNameStore.cs
- GenericAuthenticationEventArgs.cs
- PixelFormatConverter.cs
- QuaternionAnimation.cs
- WCFModelStrings.Designer.cs
- HyperLinkColumn.cs
- IdnMapping.cs
- TransformPattern.cs
- PointConverter.cs
- XmlLoader.cs
- CheckBoxBaseAdapter.cs
- QilScopedVisitor.cs
- Int16AnimationBase.cs
- AtomMaterializerLog.cs
- SpellCheck.cs
- XomlCompilerParameters.cs
- GridItemPattern.cs
- ContentControl.cs
- SimpleMailWebEventProvider.cs
- ResourceAttributes.cs
- ColorKeyFrameCollection.cs
- CharacterHit.cs
- keycontainerpermission.cs
- ReadOnlyCollection.cs
- DbgUtil.cs
- XamlTypeMapperSchemaContext.cs
- FileDialog_Vista_Interop.cs
- MenuItemStyle.cs
- UIElementAutomationPeer.cs
- ItemDragEvent.cs
- TemplateApplicationHelper.cs
- UdpDiscoveryEndpoint.cs
- NamedPermissionSet.cs
- GradientStop.cs
- XDRSchema.cs
- EdmEntityTypeAttribute.cs
- Int32Collection.cs
- ComboBoxRenderer.cs
- login.cs
- MultiBindingExpression.cs
- HttpListenerRequest.cs
- NotSupportedException.cs
- Directory.cs