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
- Component.cs
- Keyboard.cs
- XamlVector3DCollectionSerializer.cs
- DispatcherExceptionEventArgs.cs
- XhtmlTextWriter.cs
- PersistChildrenAttribute.cs
- ConnectivityStatus.cs
- MobileUITypeEditor.cs
- RowUpdatingEventArgs.cs
- InstanceLockTracking.cs
- Light.cs
- DiscriminatorMap.cs
- Cloud.cs
- AllMembershipCondition.cs
- DisableDpiAwarenessAttribute.cs
- SqlTriggerAttribute.cs
- PageHandlerFactory.cs
- RuleProcessor.cs
- PhysicalOps.cs
- DelegateTypeInfo.cs
- WinEventTracker.cs
- figurelengthconverter.cs
- LinqDataSource.cs
- Span.cs
- CaretElement.cs
- MSAANativeProvider.cs
- Transform.cs
- NameValueConfigurationElement.cs
- RegexGroup.cs
- WebAdminConfigurationHelper.cs
- Tool.cs
- PageAsyncTaskManager.cs
- ScriptResourceInfo.cs
- SQLBytesStorage.cs
- SettingsPropertyCollection.cs
- UnsafeNativeMethods.cs
- DrawListViewItemEventArgs.cs
- GiveFeedbackEventArgs.cs
- GeometryGroup.cs
- CodeCastExpression.cs
- Camera.cs
- InputProcessorProfilesLoader.cs
- StorageEntityTypeMapping.cs
- BitmapEffectInput.cs
- Tracking.cs
- XmlSchemaAttribute.cs
- WebBrowserDocumentCompletedEventHandler.cs
- TableLayoutCellPaintEventArgs.cs
- EntityParameter.cs
- _ConnectionGroup.cs
- ExeContext.cs
- InvalidCastException.cs
- WindowsTooltip.cs
- HtmlFormAdapter.cs
- WaitHandleCannotBeOpenedException.cs
- Attributes.cs
- PropertyChangedEventArgs.cs
- HttpHandlerActionCollection.cs
- SerializationException.cs
- DataSetFieldSchema.cs
- MasterPage.cs
- InvokeMemberBinder.cs
- CompareValidator.cs
- ModifiableIteratorCollection.cs
- Visual.cs
- VisualBasic.cs
- RuleInfoComparer.cs
- ThousandthOfEmRealDoubles.cs
- NamespaceMapping.cs
- ReadOnlyCollectionBase.cs
- SpecularMaterial.cs
- ElementProxy.cs
- StrokeNodeEnumerator.cs
- _NetworkingPerfCounters.cs
- Query.cs
- WindowsListBox.cs
- Empty.cs
- cookiecollection.cs
- _SpnDictionary.cs
- BoundField.cs
- HttpDebugHandler.cs
- EastAsianLunisolarCalendar.cs
- SrgsGrammarCompiler.cs
- DigitalSignatureProvider.cs
- CreateUserWizardStep.cs
- _IPv4Address.cs
- MaskedTextProvider.cs
- TileBrush.cs
- ZeroOpNode.cs
- BorderGapMaskConverter.cs
- XmlTextReader.cs
- TdsParserSessionPool.cs
- VScrollProperties.cs
- SafeIUnknown.cs
- SessionStateItemCollection.cs
- GlyphShapingProperties.cs
- ImageSourceConverter.cs
- Propagator.Evaluator.cs
- IndependentlyAnimatedPropertyMetadata.cs
- RegistrationServices.cs