Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWebControls / System / Data / WebControls / WebControlParameterProxy.cs / 1305376 / 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.ConvertDbTypeToType(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(), CultureInfo.CurrentCulture); 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.ConvertDbTypeToType(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(), CultureInfo.CurrentCulture); 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
- SubordinateTransaction.cs
- Types.cs
- IntPtr.cs
- XmlUTF8TextWriter.cs
- GetFileNameResult.cs
- Underline.cs
- ConditionalAttribute.cs
- QilList.cs
- SimpleNameService.cs
- MergeLocalizationDirectives.cs
- SQLBoolean.cs
- EntitySetRetriever.cs
- DataGridViewHeaderCell.cs
- RoleBoolean.cs
- MenuStrip.cs
- AppDomainManager.cs
- XsltSettings.cs
- Soap12ProtocolReflector.cs
- Viewport3DAutomationPeer.cs
- AccessViolationException.cs
- Context.cs
- ResXResourceWriter.cs
- CharKeyFrameCollection.cs
- ParentQuery.cs
- GeneratedCodeAttribute.cs
- BaseTreeIterator.cs
- DirectoryInfo.cs
- FontInfo.cs
- ToolStripActionList.cs
- XmlAutoDetectWriter.cs
- xmlsaver.cs
- HyperLink.cs
- AnnotationHighlightLayer.cs
- wmiprovider.cs
- AsymmetricKeyExchangeFormatter.cs
- DataSetUtil.cs
- SqlConnectionString.cs
- DummyDataSource.cs
- _FixedSizeReader.cs
- HtmlHead.cs
- AnnotationHighlightLayer.cs
- WindowsGraphicsWrapper.cs
- QuotaThrottle.cs
- ThaiBuddhistCalendar.cs
- Int32KeyFrameCollection.cs
- OleDbReferenceCollection.cs
- RenderData.cs
- ExeConfigurationFileMap.cs
- PasswordPropertyTextAttribute.cs
- XmlSequenceWriter.cs
- Span.cs
- SimpleModelProvider.cs
- ColumnHeader.cs
- DocumentSequence.cs
- EntityDescriptor.cs
- ResourceAttributes.cs
- LabelDesigner.cs
- SqlUDTStorage.cs
- NotifyIcon.cs
- SmtpNtlmAuthenticationModule.cs
- TrustManagerPromptUI.cs
- SerializationException.cs
- CmsUtils.cs
- QilPatternFactory.cs
- _AuthenticationState.cs
- WizardForm.cs
- RegexGroupCollection.cs
- DesignerTextViewAdapter.cs
- CapiSymmetricAlgorithm.cs
- NegotiationTokenAuthenticator.cs
- ToolStrip.cs
- IntPtr.cs
- UInt16Storage.cs
- SqlNotificationEventArgs.cs
- util.cs
- HuffmanTree.cs
- TraceEventCache.cs
- Message.cs
- CharConverter.cs
- BitmapSizeOptions.cs
- RadialGradientBrush.cs
- UnknownBitmapEncoder.cs
- Stack.cs
- DatatypeImplementation.cs
- InvokePattern.cs
- QueryStatement.cs
- StaticResourceExtension.cs
- ExpressionBindingCollection.cs
- RequestQueryProcessor.cs
- RtfControlWordInfo.cs
- HtmlInputHidden.cs
- Visitor.cs
- DbProviderConfigurationHandler.cs
- AlternateViewCollection.cs
- InteropAutomationProvider.cs
- SerializationObjectManager.cs
- ExpressionTextBox.xaml.cs
- BordersPage.cs
- BaseCodePageEncoding.cs
- Marshal.cs