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
- CatalogZoneBase.cs
- UnaryOperationBinder.cs
- PopupRoot.cs
- ParameterCollection.cs
- EditModeSwitchButton.cs
- MaskedTextProvider.cs
- ControlsConfig.cs
- DataGridViewCellEventArgs.cs
- safemediahandle.cs
- BitmapEffectRenderDataResource.cs
- AutomationPatternInfo.cs
- SafeEventHandle.cs
- NewExpression.cs
- SimpleBitVector32.cs
- BamlLocalizableResource.cs
- FunctionDescription.cs
- Style.cs
- RegistryPermission.cs
- ObjectCloneHelper.cs
- Token.cs
- WeakKeyDictionary.cs
- ColorTransformHelper.cs
- HandoffBehavior.cs
- UsernameTokenFactoryCredential.cs
- HttpProfileBase.cs
- SqlCrossApplyToCrossJoin.cs
- MessageQueueCriteria.cs
- HwndHost.cs
- userdatakeys.cs
- LayoutEditorPart.cs
- GeneralTransform3D.cs
- Trace.cs
- FontWeightConverter.cs
- ControlAdapter.cs
- RectangleGeometry.cs
- FixedSOMTableRow.cs
- BasicViewGenerator.cs
- CustomErrorsSection.cs
- Relationship.cs
- ObjectSet.cs
- WinInetCache.cs
- RequestQueryProcessor.cs
- InvalidAsynchronousStateException.cs
- BrowserCapabilitiesFactoryBase.cs
- X509AsymmetricSecurityKey.cs
- AmbientEnvironment.cs
- TransformConverter.cs
- SQLUtility.cs
- ListBox.cs
- MeshGeometry3D.cs
- ResourceAttributes.cs
- precedingquery.cs
- RemotingConfiguration.cs
- FilterEventArgs.cs
- GridEntryCollection.cs
- FloaterBaseParaClient.cs
- OleDbPermission.cs
- ResourcePart.cs
- RequiredFieldValidator.cs
- PagesSection.cs
- ImageSource.cs
- EventLogPermissionEntry.cs
- TraceData.cs
- Ipv6Element.cs
- GridViewDeleteEventArgs.cs
- TypedTableHandler.cs
- UniformGrid.cs
- Calendar.cs
- CacheEntry.cs
- FloaterBaseParagraph.cs
- UIAgentRequest.cs
- ChangeConflicts.cs
- UnionCodeGroup.cs
- PageParser.cs
- OdbcConnectionHandle.cs
- SimpleRecyclingCache.cs
- CompilationUnit.cs
- MethodBody.cs
- X509SubjectKeyIdentifierClause.cs
- RtType.cs
- DecimalAnimationBase.cs
- RelatedView.cs
- ZipIOExtraFieldZip64Element.cs
- NonParentingControl.cs
- DataGridViewSelectedCellCollection.cs
- NotCondition.cs
- HttpDateParse.cs
- xsdvalidator.cs
- ContentPresenter.cs
- Operator.cs
- HtmlObjectListAdapter.cs
- LinqDataSourceInsertEventArgs.cs
- PerformanceCounter.cs
- BreakRecordTable.cs
- ManipulationDeltaEventArgs.cs
- CodeIdentifiers.cs
- ProvidersHelper.cs
- BaseContextMenu.cs
- UrlAuthorizationModule.cs
- SocketAddress.cs