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
- XmlQueryOutput.cs
- Aggregates.cs
- COSERVERINFO.cs
- SystemDropShadowChrome.cs
- HttpValueCollection.cs
- DiscreteKeyFrames.cs
- FormViewActionList.cs
- SecurityAlgorithmSuiteConverter.cs
- DataServiceBuildProvider.cs
- SettingsAttributeDictionary.cs
- StorageComplexTypeMapping.cs
- PreservationFileReader.cs
- HttpGetProtocolReflector.cs
- XmlSchemaFacet.cs
- List.cs
- PropertyConverter.cs
- SqlReferenceCollection.cs
- StringInfo.cs
- TriggerAction.cs
- filewebresponse.cs
- HotSpotCollectionEditor.cs
- TextServicesCompartmentContext.cs
- MediaTimeline.cs
- WpfPayload.cs
- XsltSettings.cs
- OutgoingWebResponseContext.cs
- Filter.cs
- NotSupportedException.cs
- MatrixValueSerializer.cs
- DoubleAnimationClockResource.cs
- X509SecurityTokenProvider.cs
- ConfigurationSchemaErrors.cs
- Timer.cs
- ChameleonKey.cs
- PenCursorManager.cs
- HttpModule.cs
- ReadOnlyActivityGlyph.cs
- DiscriminatorMap.cs
- CodeComment.cs
- SynchronizedPool.cs
- EntityModelSchemaGenerator.cs
- DocumentStream.cs
- CallContext.cs
- DataListItem.cs
- StatusBarPanel.cs
- GroupQuery.cs
- HyperLinkField.cs
- ToolStripSplitButton.cs
- PathSegment.cs
- SafeNativeMethods.cs
- x509store.cs
- SamlSecurityTokenAuthenticator.cs
- TrackBar.cs
- filewebresponse.cs
- CodeTypeMember.cs
- SolidColorBrush.cs
- CqlIdentifiers.cs
- ListBoxItemWrapperAutomationPeer.cs
- _KerberosClient.cs
- RemoteWebConfigurationHost.cs
- MailDefinition.cs
- RemotingServices.cs
- DataGridViewCheckBoxCell.cs
- ClassicBorderDecorator.cs
- CodeVariableDeclarationStatement.cs
- CommandValueSerializer.cs
- NameTable.cs
- ToolTip.cs
- AvTrace.cs
- glyphs.cs
- ObjectStateManager.cs
- DelayedRegex.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- DbProviderFactory.cs
- TemplateControl.cs
- CommentEmitter.cs
- MdbDataFileEditor.cs
- DataGridViewRowCancelEventArgs.cs
- ToolboxItemFilterAttribute.cs
- RawStylusInputCustomDataList.cs
- MethodBody.cs
- PrintDialog.cs
- LicenseContext.cs
- PluralizationServiceUtil.cs
- ToolboxDataAttribute.cs
- JsonGlobals.cs
- SafeTimerHandle.cs
- ExeConfigurationFileMap.cs
- Keywords.cs
- CodeTypeMemberCollection.cs
- ListBoxItemWrapperAutomationPeer.cs
- TraceXPathNavigator.cs
- SessionParameter.cs
- OverflowException.cs
- RectangleF.cs
- TextParagraphCache.cs
- RequestBringIntoViewEventArgs.cs
- BitStack.cs
- DoubleAnimationClockResource.cs
- InputLanguage.cs