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
- SimpleApplicationHost.cs
- XmlSchemaAttributeGroupRef.cs
- QueryOutputWriter.cs
- CompressStream.cs
- HttpListenerElement.cs
- DataGridHeaderBorder.cs
- MarshalByValueComponent.cs
- CollectionChangeEventArgs.cs
- webbrowsersite.cs
- ObjectViewQueryResultData.cs
- WindowsListViewSubItem.cs
- PassportAuthenticationModule.cs
- CommandEventArgs.cs
- Point3DAnimationBase.cs
- SendMailErrorEventArgs.cs
- DataObjectCopyingEventArgs.cs
- QuaternionAnimation.cs
- cookieexception.cs
- ThrowHelper.cs
- DataControlLinkButton.cs
- InfiniteIntConverter.cs
- Int64Converter.cs
- Light.cs
- UnsupportedPolicyOptionsException.cs
- ExpressionEditor.cs
- HighlightVisual.cs
- ObjectStateEntry.cs
- HostUtils.cs
- SqlUserDefinedTypeAttribute.cs
- ActivationServices.cs
- ComponentEvent.cs
- ProviderIncompatibleException.cs
- TextProviderWrapper.cs
- SimpleHandlerBuildProvider.cs
- SafeCloseHandleCritical.cs
- SerializationTrace.cs
- SapiRecognizer.cs
- WebPartUserCapability.cs
- DataGridViewCellCancelEventArgs.cs
- GZipUtils.cs
- FixedSOMPage.cs
- XmlCDATASection.cs
- SqlIdentifier.cs
- ClientTargetCollection.cs
- KerberosSecurityTokenParameters.cs
- FrameworkElement.cs
- BufferedStream.cs
- Number.cs
- Error.cs
- RegexTree.cs
- AsyncPostBackErrorEventArgs.cs
- GridProviderWrapper.cs
- MultiAsyncResult.cs
- CompatibleComparer.cs
- DrawingDrawingContext.cs
- NameValueCollection.cs
- elementinformation.cs
- JapaneseCalendar.cs
- Typeface.cs
- Column.cs
- Adorner.cs
- FileResponseElement.cs
- EventItfInfo.cs
- SqlReorderer.cs
- MenuCommand.cs
- TextSelectionHelper.cs
- LZCodec.cs
- MemoryStream.cs
- XslTransform.cs
- InternalConfigHost.cs
- VBCodeProvider.cs
- NegotiateStream.cs
- _ProxyRegBlob.cs
- GridEntry.cs
- XmlSchemaSimpleTypeRestriction.cs
- PagesSection.cs
- PassportIdentity.cs
- FixedHighlight.cs
- LocalServiceSecuritySettings.cs
- InstanceKey.cs
- ValueQuery.cs
- MimePart.cs
- ToolBarOverflowPanel.cs
- UnsettableComboBox.cs
- OleDbRowUpdatingEvent.cs
- Localizer.cs
- ComponentResourceKeyConverter.cs
- SqlDependencyListener.cs
- WebPartCloseVerb.cs
- InputMethodStateTypeInfo.cs
- EntityParameterCollection.cs
- EventSinkHelperWriter.cs
- XmlSchemaNotation.cs
- compensatingcollection.cs
- VisualState.cs
- DBParameter.cs
- AsnEncodedData.cs
- HttpListenerContext.cs
- Authorization.cs
- SpecialNameAttribute.cs