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
- If.cs
- NavigateEvent.cs
- SetterBaseCollection.cs
- StrokeCollectionConverter.cs
- RegexStringValidatorAttribute.cs
- ToolStripPanelRow.cs
- HtmlTernaryTree.cs
- ChameleonKey.cs
- TextFormatterImp.cs
- Descriptor.cs
- GradientStop.cs
- SHA512Managed.cs
- AssemblyNameProxy.cs
- DesignerSerializationOptionsAttribute.cs
- DependencyPropertyHelper.cs
- StackOverflowException.cs
- ServiceReference.cs
- XmlElementElementCollection.cs
- DrawingVisual.cs
- PrimitiveDataContract.cs
- ServicePointManagerElement.cs
- DataSet.cs
- ImpersonateTokenRef.cs
- SoapClientProtocol.cs
- NativeObjectSecurity.cs
- JsonStringDataContract.cs
- EndpointDiscoveryMetadata.cs
- ReadOnlyHierarchicalDataSourceView.cs
- CharacterString.cs
- CoreSwitches.cs
- TabletCollection.cs
- ViewUtilities.cs
- RegexCompilationInfo.cs
- CqlWriter.cs
- TransformFinalBlockRequest.cs
- HttpListenerContext.cs
- MailDefinition.cs
- StaticDataManager.cs
- TextServicesCompartmentContext.cs
- IfAction.cs
- XamlClipboardData.cs
- FixedSOMContainer.cs
- safex509handles.cs
- ValuePattern.cs
- ReadWriteSpinLock.cs
- ComplexLine.cs
- AvtEvent.cs
- EntityTypeEmitter.cs
- ProcessHostFactoryHelper.cs
- ValueCollectionParameterReader.cs
- RichTextBoxAutomationPeer.cs
- RecognizerStateChangedEventArgs.cs
- Container.cs
- WinEventTracker.cs
- UserControlParser.cs
- NumericUpDownAcceleration.cs
- Brushes.cs
- BamlCollectionHolder.cs
- SmiMetaDataProperty.cs
- DiagnosticTraceRecords.cs
- SerializationException.cs
- XmlQualifiedName.cs
- FixedDSBuilder.cs
- EdmError.cs
- BitmapEffectOutputConnector.cs
- ClientConfigurationSystem.cs
- OleDbRowUpdatingEvent.cs
- OutOfMemoryException.cs
- loginstatus.cs
- OdbcStatementHandle.cs
- ProxyBuilder.cs
- FormsAuthenticationUserCollection.cs
- LassoSelectionBehavior.cs
- ManipulationDelta.cs
- ArgumentException.cs
- GatewayIPAddressInformationCollection.cs
- OracleLob.cs
- DateTimeConverter.cs
- WindowShowOrOpenTracker.cs
- ChangeNode.cs
- ArrayElementGridEntry.cs
- URIFormatException.cs
- WindowShowOrOpenTracker.cs
- UnmanagedHandle.cs
- TabControlAutomationPeer.cs
- HtmlShimManager.cs
- MembershipValidatePasswordEventArgs.cs
- SupportsEventValidationAttribute.cs
- ChineseLunisolarCalendar.cs
- BookmarkOptionsHelper.cs
- ComPlusInstanceProvider.cs
- BamlCollectionHolder.cs
- AppSettingsExpressionBuilder.cs
- PopOutPanel.cs
- ToolBar.cs
- CqlParser.cs
- XdrBuilder.cs
- ProfileSettings.cs
- TemplateXamlParser.cs
- SqlFacetAttribute.cs