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
- TokenBasedSet.cs
- RsaElement.cs
- PropertyToken.cs
- BooleanAnimationUsingKeyFrames.cs
- ToolStripRenderEventArgs.cs
- StylusShape.cs
- FilePrompt.cs
- VisemeEventArgs.cs
- TypeConstant.cs
- D3DImage.cs
- QuarticEase.cs
- SqlParameter.cs
- DataGridCell.cs
- XmlParser.cs
- EastAsianLunisolarCalendar.cs
- ToolBar.cs
- DataListItemEventArgs.cs
- XamlPathDataSerializer.cs
- BinHexDecoder.cs
- GiveFeedbackEventArgs.cs
- ParameterInfo.cs
- MultiPageTextView.cs
- SqlReferenceCollection.cs
- Pens.cs
- HostProtectionPermission.cs
- NodeFunctions.cs
- MarginCollapsingState.cs
- ColorBuilder.cs
- IImplicitResourceProvider.cs
- TextEffect.cs
- HttpContextServiceHost.cs
- DataBindingCollectionConverter.cs
- WebPartPersonalization.cs
- AllMembershipCondition.cs
- DockingAttribute.cs
- WsdlInspector.cs
- MailMessageEventArgs.cs
- VisualTarget.cs
- SecurityContextTokenValidationException.cs
- SlipBehavior.cs
- ECDiffieHellmanCngPublicKey.cs
- OleDbRowUpdatedEvent.cs
- GridViewColumnHeader.cs
- GeneralEndpointIdentity.cs
- HybridCollection.cs
- QueryAccessibilityHelpEvent.cs
- HostProtectionException.cs
- SectionUpdates.cs
- DispatcherSynchronizationContext.cs
- JoinCqlBlock.cs
- BindingCompleteEventArgs.cs
- BamlReader.cs
- WindowsRebar.cs
- Grid.cs
- ModelTreeEnumerator.cs
- SymbolType.cs
- PersonalizationAdministration.cs
- LambdaCompiler.Lambda.cs
- ErrorInfoXmlDocument.cs
- SettingsPropertyCollection.cs
- SerializationSectionGroup.cs
- UrlMappingsModule.cs
- BasicHttpSecurityElement.cs
- AmbientProperties.cs
- DeobfuscatingStream.cs
- RIPEMD160.cs
- _RequestCacheProtocol.cs
- ListViewItemSelectionChangedEvent.cs
- Selection.cs
- ToolStripContainerActionList.cs
- localization.cs
- DetailsViewModeEventArgs.cs
- GlyphElement.cs
- FloatUtil.cs
- ProviderCommandInfoUtils.cs
- ReturnType.cs
- SymbolPair.cs
- IApplicationTrustManager.cs
- BitConverter.cs
- SafeNativeMethods.cs
- XmlDataProvider.cs
- ExpressionDumper.cs
- EncoderParameter.cs
- ClientUrlResolverWrapper.cs
- InsufficientMemoryException.cs
- HtmlInputSubmit.cs
- DomNameTable.cs
- DataGridViewTextBoxCell.cs
- ListSortDescriptionCollection.cs
- _AutoWebProxyScriptWrapper.cs
- ILGenerator.cs
- UnmanagedHandle.cs
- SessionPageStatePersister.cs
- PixelFormats.cs
- XPathSelectionIterator.cs
- PageContentCollection.cs
- Crypto.cs
- BehaviorEditorPart.cs
- Misc.cs
- OdbcEnvironment.cs