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
- ImageEditor.cs
- QilReplaceVisitor.cs
- ContentElement.cs
- DropShadowEffect.cs
- LinqDataSourceValidationException.cs
- DragEventArgs.cs
- CriticalFinalizerObject.cs
- AppLevelCompilationSectionCache.cs
- StrokeDescriptor.cs
- XmlSchemaAttributeGroup.cs
- Substitution.cs
- ViewStateModeByIdAttribute.cs
- XmlSchemaException.cs
- DataGridViewRowEventArgs.cs
- WebServiceBindingAttribute.cs
- DataGridBoundColumn.cs
- BlockExpression.cs
- EmptyQuery.cs
- returneventsaver.cs
- VariantWrapper.cs
- TemplateControlParser.cs
- DataAdapter.cs
- TextEffect.cs
- PassportAuthentication.cs
- XmlSchemaNotation.cs
- SourceChangedEventArgs.cs
- IIS7UserPrincipal.cs
- ListDictionary.cs
- ConnectionManagementSection.cs
- AccessorTable.cs
- XamlNamespaceHelper.cs
- SupportingTokenSecurityTokenResolver.cs
- NavigationProgressEventArgs.cs
- AsmxEndpointPickerExtension.cs
- XmlCharType.cs
- ThousandthOfEmRealPoints.cs
- CodeTypeDeclarationCollection.cs
- TypeUsageBuilder.cs
- DoubleLinkList.cs
- BindingExpressionUncommonField.cs
- HtmlWindow.cs
- SoapRpcServiceAttribute.cs
- DataGridTablesFactory.cs
- brushes.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- DLinqTableProvider.cs
- AuthenticationConfig.cs
- CodeAccessPermission.cs
- BookmarkScopeInfo.cs
- NamespaceInfo.cs
- StaticContext.cs
- DataGridHeaderBorder.cs
- DataGridViewCellMouseEventArgs.cs
- EarlyBoundInfo.cs
- WorkflowDesignerMessageFilter.cs
- RuntimeConfigLKG.cs
- ManagementObject.cs
- BulletDecorator.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- XmlComplianceUtil.cs
- ThreadInterruptedException.cs
- ConstructorNeedsTagAttribute.cs
- ClickablePoint.cs
- LogicalTreeHelper.cs
- PropertyEmitterBase.cs
- controlskin.cs
- ResourcePropertyMemberCodeDomSerializer.cs
- ServicePointManager.cs
- MessageFormatterConverter.cs
- ByteRangeDownloader.cs
- ManagedFilter.cs
- PromptEventArgs.cs
- XhtmlBasicLinkAdapter.cs
- HtmlEmptyTagControlBuilder.cs
- PlatformCulture.cs
- UnhandledExceptionEventArgs.cs
- URI.cs
- GlobalAllocSafeHandle.cs
- SessionSwitchEventArgs.cs
- SplineQuaternionKeyFrame.cs
- MarginsConverter.cs
- Size3D.cs
- mda.cs
- XmlSchemaComplexContentExtension.cs
- SqlHelper.cs
- PagedDataSource.cs
- String.cs
- TreeViewImageGenerator.cs
- recordstate.cs
- InputGestureCollection.cs
- QueryStringParameter.cs
- AnnouncementEndpointElement.cs
- ToolStrip.cs
- AuthenticationService.cs
- WeakReferenceKey.cs
- XPathEmptyIterator.cs
- ControlIdConverter.cs
- SqlDataSourceCustomCommandEditor.cs
- HttpCachePolicyElement.cs
- MessageFormatterConverter.cs