Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- ObjectMemberMapping.cs
- SubclassTypeValidator.cs
- ContextMenuStrip.cs
- RelationshipConstraintValidator.cs
- FixedPosition.cs
- PersonalizationStateQuery.cs
- ClientConvert.cs
- ListViewInsertEventArgs.cs
- XmlSigningNodeWriter.cs
- SynchronizedPool.cs
- SiteMapNode.cs
- XmlSerializableWriter.cs
- ModelPropertyCollectionImpl.cs
- NameValueCollection.cs
- ComponentResourceManager.cs
- LocationUpdates.cs
- ContextConfiguration.cs
- ClientRolePrincipal.cs
- ColorIndependentAnimationStorage.cs
- ConstraintManager.cs
- COM2Properties.cs
- TraceSource.cs
- PointLight.cs
- SafeHandles.cs
- PointCollectionValueSerializer.cs
- DataGridColumnCollection.cs
- HttpHandlerActionCollection.cs
- WindowsFormsLinkLabel.cs
- AnimationTimeline.cs
- LoadRetryHandler.cs
- PersonalizablePropertyEntry.cs
- BitmapEffect.cs
- StorageEntityTypeMapping.cs
- LongTypeConverter.cs
- DependencyPropertyHelper.cs
- ConnectionPoolRegistry.cs
- ListBase.cs
- MergeLocalizationDirectives.cs
- BoundsDrawingContextWalker.cs
- graph.cs
- MemoryMappedViewStream.cs
- SqlFormatter.cs
- StylusButtonEventArgs.cs
- LassoHelper.cs
- PowerStatus.cs
- DecoderBestFitFallback.cs
- PathTooLongException.cs
- CodeIdentifiers.cs
- DependencyProperty.cs
- Animatable.cs
- HttpCacheParams.cs
- SettingsPropertyWrongTypeException.cs
- AttachedPropertyDescriptor.cs
- MessageCredentialType.cs
- Point4D.cs
- SelectionPatternIdentifiers.cs
- DesignColumnCollection.cs
- ScopeCompiler.cs
- ProcessModelInfo.cs
- ClientRuntimeConfig.cs
- ComponentEditorPage.cs
- PromptEventArgs.cs
- ControlValuePropertyAttribute.cs
- ComponentEditorPage.cs
- bindurihelper.cs
- StatusBarPanelClickEvent.cs
- MarkupCompilePass1.cs
- ServicePoint.cs
- OdbcParameterCollection.cs
- ModuleBuilderData.cs
- MdImport.cs
- BindingListCollectionView.cs
- AnonymousIdentificationSection.cs
- RouteValueDictionary.cs
- LabelLiteral.cs
- StringSource.cs
- ImageIndexEditor.cs
- ReadOnlyPropertyMetadata.cs
- ExpressionEditor.cs
- SynchronousChannelMergeEnumerator.cs
- LayoutDump.cs
- WMICapabilities.cs
- CompilerCollection.cs
- TimeSpan.cs
- RenderingBiasValidation.cs
- XmlJsonReader.cs
- ConfigXmlWhitespace.cs
- XmlNodeList.cs
- XmlAnyElementAttribute.cs
- WindowsListViewItem.cs
- PropertyStore.cs
- TaskFormBase.cs
- Subordinate.cs
- StringValidator.cs
- HttpProfileBase.cs
- CompilerGlobalScopeAttribute.cs
- FloaterParagraph.cs
- XmlSchemaAppInfo.cs
- Serializer.cs
- UrlMappingsModule.cs