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
- PointCollectionValueSerializer.cs
- TextModifier.cs
- DataFormat.cs
- ZipIOExtraFieldElement.cs
- wgx_sdk_version.cs
- parserscommon.cs
- IfJoinedCondition.cs
- IdentityManager.cs
- DataControlFieldsEditor.cs
- ObjectQueryState.cs
- FrameworkContextData.cs
- RegionData.cs
- RSACryptoServiceProvider.cs
- CommandArguments.cs
- ApplicationSettingsBase.cs
- FileVersionInfo.cs
- Timer.cs
- UpdateRecord.cs
- DocumentViewerBase.cs
- GridViewRow.cs
- SQLResource.cs
- XmlAttributeAttribute.cs
- MonthChangedEventArgs.cs
- ParameterCollection.cs
- FactoryGenerator.cs
- SHA384.cs
- AttributeEmitter.cs
- DataViewSetting.cs
- SoapInteropTypes.cs
- OleDbException.cs
- Nodes.cs
- InputScopeConverter.cs
- UIElementCollection.cs
- AssociationSetMetadata.cs
- SendingRequestEventArgs.cs
- XDeferredAxisSource.cs
- OleCmdHelper.cs
- BaseTemplatedMobileComponentEditor.cs
- OperandQuery.cs
- AttributeCollection.cs
- ReversePositionQuery.cs
- CompilerState.cs
- OleDbInfoMessageEvent.cs
- Int32RectConverter.cs
- ArrayElementGridEntry.cs
- WebConfigurationManager.cs
- CompensateDesigner.cs
- WebControl.cs
- IProvider.cs
- FontCacheUtil.cs
- KeyBinding.cs
- TreeViewCancelEvent.cs
- Random.cs
- DataGridCommandEventArgs.cs
- ProfileProvider.cs
- XPathNavigatorKeyComparer.cs
- SoapSchemaMember.cs
- XmlNamespaceDeclarationsAttribute.cs
- CollectionChangedEventManager.cs
- BufferModeSettings.cs
- Transform3DCollection.cs
- QueryCursorEventArgs.cs
- TcpChannelHelper.cs
- XamlRtfConverter.cs
- TypeDescriptorFilterService.cs
- WindowsAltTab.cs
- BooleanStorage.cs
- HttpContextServiceHost.cs
- SiteMapSection.cs
- StructuredTypeEmitter.cs
- DateTimeFormatInfo.cs
- WbmpConverter.cs
- StringToken.cs
- ToolStripItemClickedEventArgs.cs
- CloudCollection.cs
- ToolStripContentPanelRenderEventArgs.cs
- Compilation.cs
- HwndProxyElementProvider.cs
- Point3DAnimationUsingKeyFrames.cs
- XmlQueryRuntime.cs
- LinqDataSourceStatusEventArgs.cs
- BevelBitmapEffect.cs
- TextEffectResolver.cs
- ConditionalDesigner.cs
- SrgsSemanticInterpretationTag.cs
- SmtpFailedRecipientException.cs
- DebugControllerThread.cs
- PrePostDescendentsWalker.cs
- DES.cs
- ReadOnlyDictionary.cs
- ModuleBuilderData.cs
- XmlBaseWriter.cs
- SqlParameterizer.cs
- DataChangedEventManager.cs
- MultitargetUtil.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- BooleanConverter.cs
- Assign.cs
- WebPartTransformer.cs
- WorkflowMarkupSerializationException.cs