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
- RtType.cs
- UIElementCollection.cs
- ContainerParagraph.cs
- SystemColors.cs
- MarkupObject.cs
- SharedPersonalizationStateInfo.cs
- PropertyConverter.cs
- AssemblyBuilder.cs
- GridViewColumn.cs
- RuntimeResourceSet.cs
- X509Chain.cs
- AllMembershipCondition.cs
- Vector.cs
- SafeCryptoHandles.cs
- IssuanceTokenProviderBase.cs
- DoubleCollection.cs
- AlternateViewCollection.cs
- SharedStatics.cs
- HtmlFormParameterReader.cs
- DescendantOverDescendantQuery.cs
- Keywords.cs
- RoutedCommand.cs
- DataGridViewRowCancelEventArgs.cs
- _ProxyChain.cs
- EmbeddedObject.cs
- CharacterBuffer.cs
- MimeWriter.cs
- ScriptResourceInfo.cs
- Base64Encoder.cs
- AssertSection.cs
- RegexRunnerFactory.cs
- HtmlFormParameterReader.cs
- FixedMaxHeap.cs
- SpanIndex.cs
- HtmlInputReset.cs
- JsonEnumDataContract.cs
- Duration.cs
- X509RawDataKeyIdentifierClause.cs
- BitmapEffectDrawingContextState.cs
- GraphicsContainer.cs
- NameValueConfigurationCollection.cs
- CellPartitioner.cs
- WebPartEditVerb.cs
- HttpContext.cs
- ScaleTransform3D.cs
- Overlapped.cs
- Journal.cs
- BypassElement.cs
- DataSourceConverter.cs
- CatchDesigner.xaml.cs
- InitializerFacet.cs
- RadioButtonList.cs
- FileSystemInfo.cs
- SystemWebCachingSectionGroup.cs
- GridViewUpdatedEventArgs.cs
- IBuiltInEvidence.cs
- BigInt.cs
- FixedSOMLineCollection.cs
- SizeIndependentAnimationStorage.cs
- IUnknownConstantAttribute.cs
- ConnectionStringsSection.cs
- ExecutionContext.cs
- ReflectionUtil.cs
- Point3DAnimationBase.cs
- LinkedList.cs
- ProcessInfo.cs
- XPathAxisIterator.cs
- TextRangeBase.cs
- xamlnodes.cs
- InputScopeManager.cs
- StyleTypedPropertyAttribute.cs
- DataGridViewComponentPropertyGridSite.cs
- WebDescriptionAttribute.cs
- InputProviderSite.cs
- TargetException.cs
- OleDbErrorCollection.cs
- StylusLogic.cs
- NetworkInterface.cs
- Error.cs
- LocalizationParserHooks.cs
- ExcCanonicalXml.cs
- SyndicationLink.cs
- HtmlElementErrorEventArgs.cs
- SystemIPv4InterfaceProperties.cs
- XmlSchemaComplexContentRestriction.cs
- DataServiceResponse.cs
- TableRowCollection.cs
- SchemaMapping.cs
- ScriptRegistrationManager.cs
- StylusPointProperty.cs
- CounterNameConverter.cs
- VisualBasicSettingsHandler.cs
- FontCacheUtil.cs
- AssemblyAttributesGoHere.cs
- DSASignatureDeformatter.cs
- ChannelDemuxer.cs
- TextWriter.cs
- SimpleTextLine.cs
- SerializationException.cs
- TypeSystem.cs