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
- DataStorage.cs
- StylusEditingBehavior.cs
- LineBreak.cs
- IisTraceWebEventProvider.cs
- TableParagraph.cs
- GlobalizationAssembly.cs
- StatementContext.cs
- SqlDelegatedTransaction.cs
- WebPartsPersonalizationAuthorization.cs
- ParseHttpDate.cs
- SqlDataSourceCommandEventArgs.cs
- WinEventHandler.cs
- LinkLabel.cs
- ToolStripMenuItem.cs
- SqlServer2KCompatibilityAnnotation.cs
- SqlUdtInfo.cs
- SQLCharsStorage.cs
- Attributes.cs
- XmlEncoding.cs
- Transform.cs
- WSHttpSecurity.cs
- ProfileProvider.cs
- CodeIdentifier.cs
- OrthographicCamera.cs
- EntityClientCacheEntry.cs
- activationcontext.cs
- HtmlTableRowCollection.cs
- FilterEventArgs.cs
- DecoratedNameAttribute.cs
- OptionalRstParameters.cs
- DesignerDataConnection.cs
- CacheMemory.cs
- ServerValidateEventArgs.cs
- SqlUdtInfo.cs
- DataRelation.cs
- MediaPlayerState.cs
- ImageMetadata.cs
- ControlEvent.cs
- QuadraticBezierSegment.cs
- NodeLabelEditEvent.cs
- DataGridViewIntLinkedList.cs
- ModelUIElement3D.cs
- XmlJsonWriter.cs
- AggregateException.cs
- LogSwitch.cs
- PropertyInformation.cs
- FormClosedEvent.cs
- SizeConverter.cs
- DataGridViewTextBoxCell.cs
- DateRangeEvent.cs
- LinkDescriptor.cs
- HtmlInputImage.cs
- SqlDataSourceFilteringEventArgs.cs
- RadioButton.cs
- ResourcesBuildProvider.cs
- LinqDataSourceDeleteEventArgs.cs
- ContextMarshalException.cs
- SafeRightsManagementEnvironmentHandle.cs
- Transform.cs
- glyphs.cs
- InputChannel.cs
- FixedSOMFixedBlock.cs
- PreProcessInputEventArgs.cs
- XmlILConstructAnalyzer.cs
- NavigateEvent.cs
- StagingAreaInputItem.cs
- WebConfigurationHost.cs
- XsltOutput.cs
- GenericXmlSecurityToken.cs
- TreeNodeBindingCollection.cs
- webproxy.cs
- ListViewDeleteEventArgs.cs
- ResourceExpression.cs
- DateTimeConstantAttribute.cs
- UniqueIdentifierService.cs
- BackgroundFormatInfo.cs
- webeventbuffer.cs
- MultiView.cs
- ValidationEventArgs.cs
- HtmlForm.cs
- BitHelper.cs
- UrlPath.cs
- BindingMAnagerBase.cs
- ScriptResourceHandler.cs
- RadioButtonStandardAdapter.cs
- HttpApplicationFactory.cs
- ZipIORawDataFileBlock.cs
- GeneralTransformCollection.cs
- ScrollBar.cs
- EventSinkHelperWriter.cs
- RC2CryptoServiceProvider.cs
- NamedPipeConnectionPoolSettings.cs
- TextStore.cs
- XsdDataContractImporter.cs
- Oci.cs
- ControlAdapter.cs
- Figure.cs
- FilterException.cs
- UnionQueryOperator.cs
- XmlnsCompatibleWithAttribute.cs